java线程start和run的区别 run() 与start()的区别?
run() 与start()的区别?
只有调用start()方法才能显示多线程的特性。不同线程的run()方法中的代码交替执行。
如果只调用run()方法,代码将同步执行。您必须等待一个线程的run()方法中的代码被完全执行,然后另一个线程才能执行run()方法中的代码
如果您调用start,则先执行主线程的代码,然后再执行子线程的代码;如果您调用run,则相当于一个函数调用,即根据程序的顺序执行;
1。使用Start()方法启动线程,真正实现了多线程运行。此时,不需要等待run方法体代码的执行完成,可以直接继续执行下面的代码;通过调用thread类的start()方法来启动线程。此时,线程处于就绪状态,不会运行。然后,thread类调用run()方法来完成其操作。这里,run()方法称为线程体,它包含要执行的线程的内容。run方法结束时,线程终止。然后CPU调度其他线程。
2. run()方法作为普通方法调用。程序仍然需要按顺序执行,下面的代码只能在执行run方法体之后执行。程序中只有一个主线程,并且只有一条程序执行路径,因此无法达到编写线程的目的。
java线程start和run的区别 java中run和start区别 线程的join方法
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。