- 首先,new 一个Thread,线程进入了新建状态。调用 start() 方法,会启动一个线程并使线程进入了就绪状态,当分配到时间片就可以开始了。start() 方法会执行线程的相应准备工作,然后自动执行 run() 方法的内容,这是真正的的多线程工作。
- 而直接执行run() 方法,会把run() 方法当成一个main() 线程下的普通方法去执行,并不会在某个线程中执行它,所以这并不是多线程工作。
- 总结:调用start() 方法方可启动线程并使线程进入就绪状态,而run() 方法只是 thread() 的一个普通方法调用,还是在主线程里执行。
53.为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用run()方法?
最新推荐文章于 2023-07-16 14:43:09 发布