直接调用线程的run方法是否可以启动线程?
2018-08-17 09:40:56来源:博客园 阅读 ()
首先Thread类中run()和start()方法的区别如下:
run()方法:在本线程内调用该Runnable对象的run()方法,可以重复多次调用;
start()方法:启动一个线程,调用该Runnable对象的run()方法,不能多次启动一个线程;
1 public class Test implements Runnable{ 2 public static void main(String[] args) { 3 Test T = new Test(); 4 Test1 T1 = new Test1(); 5 6 Thread tt = new Thread(T, "t"); 7 Thread tt1 = new Thread(T1, "t1"); 8 9 tt.run(); 10 System.out.println("aaaaaa"); 11 tt1.run(); 12 System.out.println("bbbbbb"); 13 } 14 @Override 15 public void run() { 16 for(int i = 0 ; i < 10 ; i++){ 17 System.out.println("第一个" + i); 18 } 19 } 20 } 21 class Test1 implements Runnable{ 22 23 @Override 24 public void run() { 25 for(int i = 0 ; i < 10 ; i++){ 26 System.out.println("第二个" + i); 27 } 28 } 29 }
运行结果:
第一个0
第一个1
第一个2
第一个3
第一个4
第一个5
第一个6
第一个7
第一个8
第一个9
aaaaaa
第二个0
第二个1
第二个2
第二个3
第二个4
第二个5
第二个6
第二个7
第二个8
第二个9
bbbbbb
以上代码显示:run方法可以创建一个线程,但是相当于同步的方式,没有多线程的存在。
只有调用start方法才是交给jvm管理,才是多线程。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 最详细的java多线程教程来了 2020-06-08
- 系统化学习多线程(一) 2020-06-08
- 多线程:生产者消费者(管程法、信号灯法) 2020-06-01
- 如何合理地估算线程池大小? 2020-05-31
- java方法句柄-----1.方法句柄类型、调用 2020-05-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash