多线程停止问题170318

加入exit后,为什么第一个线程没有启动

 1 package Threadfunction;
 2 
 3 public class join1 extends Thread{
 4     public boolean exit=false;
 5     public join1(String name){
 6         super(name);
 7     }
 8     //线程方法
 9     public void run(){
10     while(!exit){
11     }
12     
13     for(int i=0;i<50;i++){
14         System.out.println(getName()+i);
15         
16     }
17 
18     }
19     public static void main(String[] args) throws InterruptedException
20     {
21         new join1("第一现场").start();//第一个线程
22         for(int i=0;i<100;i++){
23             if(i==20){
24                 join1 t=new join1("第二现场");//第二个线程
25                 t.start();//犯的错误,这两个位置写反,导致加入不成功
26                 t.exit=true;
27                 t.join();
28             
29             }
30             System.out.println(Thread.currentThread().getName()+i);
31             
32         }
33         
34         
35         
36         
37         
38     }
39     
40     
41     
42 }

 

转载于:https://www.cnblogs.com/javatrain/p/6575456.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值