class TestThread extends Thread{
public void run(){
for(int i=0;i<20;i++){
System.out.println(Thread.currentThread().getName()+"---is running");
}
}
}
public class Thread01 {
public static void main(String[] args) {
TestThread tt1 = new TestThread();
TestThread tt2 = new TestThread();
// tt1.run();
// tt2.run();
tt1.start();
tt2.start();
// new TestThread().start();
}
}
线程Thread中start()和run()的方法。
start()是实现并发的重点,run()不过是调用类TestThread中的run()方法。
使用start()时,结果为:
Thread-0---is running
Thread-1---is running
Thread-0---is running
Thread-1---is running
Thread-0---is running
Thread-0---is running
Thread-1---is running
Thread-0---is running
Thread-1---is running
Thread-0---is running
Thread-1---is running
Thread-0---is running
Thread-1---is running
Thread-0---is running
Thread-1---is running
Thread-0---is running
Thread-1---is running
当调用run()时,结果为:
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
main---is running
启动一个新的线程不是直接调用子类的run方法,而是调用thread类的start方法,thread类的start方法将产生一个新的线程,并在新的线程上运行该thread类对象中的run方法。由于线程的代码段是在run方法中,那么该方法执行完以后,线程也就相应结束了。
本文详细介绍了Java线程的start()和run()方法,解释了如何通过start()方法启动新线程并运行特定任务。并通过实例展示了线程间的并发执行情况,深入探讨了线程之间的交互与资源分配。
937

被折叠的 条评论
为什么被折叠?



