关键词搜索

源码搜索 ×
×

(Java)线程的生命周期

发布2020-01-18浏览453次

详情内容

Java 中一个线程对象有自己的生命周期,如果要控制好线程的生命周期,需要先认识它的生命周期:
在这里插入图片描述

suspend()方法:暂时挂起线程
resume()方法:恢复挂起的线程
stop()方法:停止线程

    对于线程中 suspend()、resume()、stop() 3种方法并不推荐使用,因为在操作时会产生死锁的问题

    所以可以通过设置标志位停止线程运行

    class MyThread implements Runnable{
        private boolean flag = true;//定义标志位属性
        public void run(){
            int i=0;
            while (this.flag){//循环输出
                while (true){
                    System.out.println(Thread.currentThread().getName()
                    + "运行,i = " + (i++));//输出当前线程名称
                }
            }
        }
        public void stop(){//编写停止方法
            this.flag = false;//修改标志位
        }
    }
    
    public class Test{
        public static void main(String[] args) {
            MyThread my = new MyThread();
            Thread t = new Thread(my,"线程");//建立线程对象
            t.start();//启动线程
            my.stop();//线程停止,修改标志位
        }
    }
    
      4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    程序一旦调用 stop() 方法就会将 MyThread 类中的 flag 变量设置为 false,这样 run() 方法就会停止运行,这种停止方式在开发中也比较常用。

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载