package com.thread;
/**
* start()和run()的区别
* start():并行执行
* run():方法调用,顺序执行
* @author 95Yang
*/
public class Thread1_Runable_run_or_start
{
/**
* main方法1
* 直接调用Runnable实现类Runner1的run(),是
* 方法调用:先执行完run()里面的内容,再执行后面的内容
* @param args
* @see [类、类#方法、类#成员]
*/
public static void main0(String[] args)
{
Runner1 r = new Runner1();
r.run();
//main方法执行
for (int j = 0; j < 20; j++)
{
System.out.println("main method ------------ "+j);
}
}
/**
* main方法1
* 把Runnable放到Thread的构造里,然后执行THread的start(),是
* 并行执行:Runner里面的run()的内容和后面的内容同时执行
* @param args
* @see [类、类#方法、类#成员]
*/
public static void main(String[] args)
{
Runner1 r = new Runner1();
Thread thread = new Thread(r);
// thread.run();//和r.run()相同,属于方法调用,不是并行执行
thread.start();
//main方法执行
for (int j = 0; j < 20; j++)
{
System.out.println("main method ------------ "+j);
}
}
}
class Runner1 implements Runnable
{
public void run()
{
for (int i = 0; i < 20; i++)
{
System.out.println("Runner1:"+i);
}
}
}