当前位置: 移动技术网 > IT编程>开发语言>Java > 直接调用线程的run方法是否可以启动线程?

直接调用线程的run方法是否可以启动线程?

2018年08月15日  | 移动技术网IT编程  | 我要评论

首先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管理,才是多线程。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网