Java线程:为什么不直接调用run()方法?
Java线程:为什么不直接调用run()方法?
在Java中,每个线程都与一个run()方法相关联,该方法包含了线程要执行的代码。你可能会疑惑,既然如此,为什么不直接调用run()方法来执行线程呢?
直接调用run()方法的弊端:
直接调用run()方法并不会启动一个新的线程,而是在当前线程中顺序执行run()方法中的代码。这与调用普通方法没有任何区别,你只是在同一个线程中执行了一段代码,无法利用多线程的优势来提高程序效率。
start()方法的优势:
我们应该使用start()方法来启动一个新的线程。start()方法会执行以下操作:
- 创建新的线程,并为其分配系统资源。
- 自动调用新线程的
run()方法,从而执行线程的代码。
通过start()方法启动线程,可以让多个线程并发执行,从而提高程序的效率和性能。
总结:
- 直接调用
run()方法只会在当前线程中执行代码,无法发挥多线程的优势。 - 使用
start()方法可以启动一个新的线程并自动调用其run()方法,实现真正的并发执行,提高程序性能。
原文地址: https://www.cveoy.top/t/topic/jmiA 著作权归作者所有。请勿转载和采集!