JUC学习-7-start和run
JUC学习-7-浅谈start和run
一、调用流程:
通过执行thread.start() -> 底层执行本地方法 -> 通过C / C++ 调用操作系统开启线程 -> 通过JVM回调run()方法。
二、start()方法和run()方法的区别
2.1、类型
run()方法是同步执行的 start()是异步执行的
2.2、作用
run()方法的作用是存放任务代码,start()方法是启动线程
2.3、线程数量方面
执行run()方法不会产生新的线程 而执行start()方法会产生新的线程
2.4、调用次数
run()方法可以被执行无数次 而start()方法只能被执行一次。线程不能被重复启动
本文来自博客园,作者:skystrivegao,转载请注明原文链接:https://www.cnblogs.com/skystrive/p/18949438
整理不易,如果对您有所帮助 请点赞收藏,谢谢~