首页 > 编程语言 > 详细

Java线程状态:线程停止

时间:2021-05-16 00:21:40      阅读:21      评论:0      收藏:0      [点我收藏+]

线程状态

 技术分享图片

 

线程中的方法

 技术分享图片

线程停止

1、 不推荐使用JDK提供的stop()、destroy()方法。(已弃用)

2、 推荐线程自己停止下来

3、 建议使用一个标志位进行终止,当变量flag=false,则终止线程运行

 

代码演示:

 1 package com.jiemyx.thread.demo02;
 2 
 3 //停止线程
 4 //1、建议线程正常停止--->利用次数,不建议死循环
 5 //2、建议使用标志位--->设置一个标志位
 6 //3、不建议使用Thread类中的stop()或者destroy()等过时的或者JDK不建议使用的方法
 7 public class ThreadStop implements Runnable{
 8     //1、设置一个标志位
 9     private boolean flag = true;
10 
11     @Override
12     public void run() {
13         int i = 0;
14         while (flag){
15             System.out.println("多线程正在运行" + i++);
16         }
17     }
18 
19     //2、自己设置一个公开的方法停止线程,转换标志位
20     public void stop(){
21         this.flag = false;
22     }
23 
24     public static void main(String[] args) {
25         ThreadStop t = new ThreadStop();
26 
27         new Thread(t).start();
28 
29         //主线程
30         for (int j = 0; j < 1000; j++) {
31             System.out.println("主线程main" + j);
32             if (j==900){
33                 //调用stop()方法,切换标志位让多线程停止
34                 t.stop();
35                 System.out.println("多线程停止了");
36             }
37         }
38     }
39 }

运行结果:

主线程main0

主线程main1

……

主线程main900

多线程停止了

主线程main901

……

主线程main998

主线程main999

 

主线程与另一个线程同时运行,当主线程900时,会调用自己创建的stop()方法终止另一个线程,而主线程执行到999时才结束。

Java线程状态:线程停止

原文:https://www.cnblogs.com/Jiemyx/p/14772791.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!