例子:
public class Test {
public static void main(String[] args) {
Runner runner = new Runner();
Thread t = new Thread(runner);
t.start(); //调用start()方法来启动线程s
runner.run(); //直接通过类调用类中的方法来启动线程
}
}
class Runner implements Runnable {
public void run() {
for(int i=0;i<10;i++){
System.out.println("i = "+i);
}
}
}
在启动线程时候,有两种方法可以使用
start()为一半通用的启动线程的方法,通过调用线程类Thread的start()方法来启动线程,然后线程Thread类通过调用run()方法来实现线程的操作,而其中的run()方法中的内容实为线程体,即为该线程所要执行的内容。run()方法执行结束,该线程也就终止了,cpu在执行其他的线程
如果将线程看做一般的Java类的话,则run()方法相当于普通的方法调用,通过普通的java类实例.run()来启动线程,即执行该方法体的内容。最终程序执行的只有主线程这一个。