参考:
https://www.cnblogs.com/sunflower627/p/4816821.html (Java多线程中start()和run()的区别)
https://www.cnblogs.com/skywang12345/p/3479083.html#a2 ( Thread中start()和run()的区别)
文章目录多线程原理start()run()start() 和 run()的区别说明start() 和 run()的区别示例多线程原理相当于玩游戏机,只有一个游戏机(cpu),可是有很多人要玩,于是,start是排队!等CPU选中你就是轮到你,你就run(),当CPU的运行的时间片执行完,这个线程就继续排队,等待下一次的run()。调用start()后,线程会被放到等待队列,等待CPU调度,并...
Thread的Start和Run方法区别功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
创建线程的两种方式,继承Thr...
首先需要知道线程的几个状态以及多线程工作方式。
new 一个Thread,线程进入了新建状态,调用start() 方法,会启动一个线程并使线程进入了就绪状态,当分配到 时间片 后就可以开始运行了。start() 会执行线程的相应准备工作,然后自动执行run() 方法的内容,这是真正的多线程工作。
而直接执行run() 方法,会把run 方法当成一个main 线程下的普通方法去执行,并不会在某个线程中执行它,所以这并不是多线程工作。
总的来说:调用start 方法方可启动线程并使线程进入就绪状态,而run