首页 > 编程语言 >java 线程中断

java 线程中断

时间:2023-03-04 17:45:19浏览次数:106  
标签:java Thread 中断 void flag 线程 myThread2 public

线程中断方法被弃用,如果要实现该功能需要手动实现,一种思路是定义一个布尔值变量(对外提供方法修改变量值)每次做业务都要判断该,如果为 true 说明不需要停止,如果为 false 就停止

class MyThread2 implements Runnable{

    // 定义一个变量, 用于控制停止线程
    private boolean flag = true;

    public boolean getFlag() {
        return flag;
    }
    // 对外提供修改值的方法
    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    @Override
    public void run() {
        // 循环获取变量 flag 值, 如果是 true 就执行
        while (this.getFlag()){
            System.out.println("flag 为真,不需要停止...");
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
public class Test2 {

    public static void main(String[] args) throws InterruptedException {
        MyThread2 myThread2 = new MyThread2();
        new Thread(myThread2).start();

        // 两秒后停止线程
        Thread.sleep(2000);
        myThread2.setFlag(false);
    }

}

标签:java,Thread,中断,void,flag,线程,myThread2,public
From: https://www.cnblogs.com/hangychn/p/17178689.html

相关文章

  • 浅谈下javascript的proxy和reflect
    近日喜欢上了uniapp和vue,但看到相关程序代码中频繁出现了proxy和reflect的使用,于是进行了一番学习,现总结如下。Proxy和Reflect是ES6(ECMAScript2015)引入的两个新的特性,它......
  • 在Linux上查看活跃线程数与连接数
    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。简介现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常......
  • java——spring boot集成kafka——kafka介绍以及概念理解
                  首先,让我们来看一下基础的消息(Message)相关术语:名称解释Broker消息中间件处理节点,⼀个Kafka节点就是⼀个broker,⼀个......
  • 【译】clang ThreadSafetyAnalysis 线程安全分析
    每天晚上临睡前一到两小时,前后花了一两周来试着翻译。过程是痛苦的,却是一个检视自己的好办法。放在git上,正在考虑以后把随笔迁到gitio上。目录clang3.5线程安全分析名词......
  • Java:得到指定年份、月份、周次的最后一天
    使用Java的工具类Calendar通过Calendar可以进行很多的日期操作/***得到指定年份的最后一天*@paramyear*/publicstaticvoidgetLastDayOfYea......
  • java——spring boot集成kafka——消息队列的流派
                   ......
  • 关于 Javascript 的几种继承
    原型链的概念:原型链通俗易懂的理解就是可以把它想象成一个链条,互相连接构成一整串链子而原型链中就是实例对象和原型对象之间的链接每个函数都有一个prototype属性,这个p......
  • 【java】动态修改日志级别
    背景开发过程中,为了方便问题快速定位,都会在代码中增加相关日志生产环境中,为了减少日志输出量,需要提高日志级别,节约资源。如果能动态修改日志级别,当出现问题时,动态降低......
  • 线程的优先级(最终还是要看cpu)
    packagecom.Java;//线程优先级调度//注意:不是调整了优先级就一定会被cpu先执行只是提高了执行概率一切还是要看cpu调度publicclassTestPriority{publicstatic......
  • 观察线程的5个状态 线程不能重新启动
    packagecom.Java;//观测线程状态publicclassTestState{publicstaticvoidmain(String[]args)throwsInterruptedException{Threadthread=newThre......