zoukankan      html  css  js  c++  java
  • 015.3线程停止

    其他线程wait,主线程执行完毕,程序不会退出。通过interrupt()方法强制弄醒
    解决线程在主线程结束了,还在等待的情况

     1 //演示停止线程。
     2 class Demo implements Runnable
     3 {
     4     private boolean flag = true;
     5     public synchronized void run()
     6     {
     7         while(flag)
     8         {
     9             try
    10             {
    11                 wait();//t1  t2
    12             }
    13             catch (InterruptedException e)
    14             {
    15                 System.out.println(Thread.currentThread().toString()+"....."+e.toString());
    16                 changeFlag();
    17             }
    18 
    19             System.out.println(Thread.currentThread().getName()+"----->");
    20         }
    21     }
    22     //对标记的修改方法。
    23     public void changeFlag()
    24     {
    25         flag = false;
    26     }
    27 }
    28 
    29 
    30 class StopThreadDemo 
    31 {
    32     public static void main(String[] args) 
    33     {
    34         Demo d = new Demo();
    35 
    36         Thread t1 = new Thread(d,"旺财");
    37         Thread t2 = new Thread(d,"小强");
    38         t1.start();
    39         //将t2标记为后台线程,守护线程。
    40 //        t2.setDaemon(true);
    41         t2.start();
    42 
    43         int x = 0;
    44         while(true)
    45         {
    46             if(++x == 50)//条件满足。
    47             {
    48 //                d.changeFlag();//改变线程任务代码的标记,让其他线程也结束。
    49                 //对t1线程对象进行中断状态的清除,强制让其恢复到运行状态。
    50                 t1.interrupt();
    51                 //对t2线程对象进行中断状态的清除,强制让其恢复到运行状态。
    52                 t2.interrupt();
    53                 break;//跳出循环,主线程可以结束。
    54             }
    55             System.out.println("main-------->"+x);
    56         }
    57         System.out.println("over");
    58     }
    59 }
  • 相关阅读:
    T3984 迷宫问题 TJ
    P1091 合唱队形 TJ
    P4549 【模板】裴蜀定理
    牛客NOIP集训一S 牛牛的方程式 TJ
    P3387 【模板】缩点 TJ
    [数字图像处理](三)对数变换
    [数字图像处理](四)直方图均衡化[HE]算法
    [ACM]KMP算法的两种写法,从0开始,从1开始
    [计算几何]补题
    [Servlet]IJ idea搭建Servlet初步
  • 原文地址:https://www.cnblogs.com/-nbloser/p/8645074.html
Copyright © 2011-2022 走看看