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 }
  • 相关阅读:
    SVN客户端的安装和使用
    SVN服务器的安装和使用
    ssh port forwarding
    mysql 索引
    ssh forwarding 配置
    pymongo collection.save 问题
    linux 实现VLAN
    linux 硬件中断调节
    M2Crypto
    python 时间四舍五入
  • 原文地址:https://www.cnblogs.com/-nbloser/p/8645074.html
Copyright © 2011-2022 走看看