zoukankan      html  css  js  c++  java
  • Java基础多线程之线程中止示例:

    class StopThreadDemo
    {
        public static void main(String[] args)
        {
            StopThread stopThread = new StopThread();
        
            Thread t1 = new Thread(stopThread,"t1");
            Thread t2 = new Thread(stopThread,"t2");
            
            t1.start();
            t2.start();
            
            int num=0;
            while(true)
            {
                if(num++ ==60)
                {            
                    //this.changeFlag();
                    t1.interrupt();
                    t2.interrupt();
                    break;
                }
                
                System.out.println(Thread.currentThread().getName()+ " runing.... "+ num);
            }
            
            System.out.println("end");
        }
    }

    class StopThread implements Runnable
    {
        private boolean flag = true;
        public synchronized void run()
        {        
            while(this.flag)
            {
                try
                {
                    wait();
                }
                catch(InterruptedException ex)
                {
                    System.out.println(Thread.currentThread().getName() + ": Exception");
                    this.changeFlag();
                }
                System.out.println(Thread.currentThread().getName() + ": runing...");
            }
        }
        
        public void changeFlag()
        {
            this.flag = false;
        }
    }
  • 相关阅读:
    Serilog 动态添加自定义属性
    C# 序列化与反序列化
    幂等设计
    服务无状态
    vue 显示 mysql 数据库表 Demo
    C# 调用 linux 函数 —— Linux 头文件目录位置
    创建可以在 Zynq 上运行的动态库
    C# 获取所在函数名
    Linux 关闭终端不结束进程
    C# 自动生成版本号
  • 原文地址:https://www.cnblogs.com/cxmsky/p/2860991.html
Copyright © 2011-2022 走看看