首页 > 其他分享 >线程停止

线程停止

时间:2023-04-01 17:26:24浏览次数:33  
标签:标志 建议 --- 停止 线程 public

线程停止

1.建议线程正常停止--->利用次数,不建议死循环
2.建议使用标志位--->设置一个标志位
3.不要使用stop或者destroy等过时或者JDK不建议使用的方法

//测试stop
//1.建议线程正常停止--->利用次数,不建议死循环
//2.建议使用标志位--->设置一个标志位
//3.不要使用stop或者destroy等过时或者JDK不建议使用的方法
public class TestStop implements Runnable{

    // 1.设置一个标志位
  private   boolean flag = true;

    @Override
    public void run() {
        int i = 0;
        while (flag){
            System.out.println("run...Thread"+i++);
        }
    }

    // 2.设置一个公开的方法停止线程,转换标志位
    public void myStop(){
        this.flag = false;
    }


    public static void main(String[] args) {
        TestStop testStop = new TestStop();
        new Thread(testStop).start();

        for (int i = 0; i < 1000; i++) {
            System.out.println("main"+i);
            if(i==900){
                //调用自己写的myStop方法切换标志位,让线程停止
                testStop.myStop();
            }
        }
    }
}

标签:标志,建议,---,停止,线程,public
From: https://www.cnblogs.com/CenCen/p/17278939.html

相关文章

  • 线程休眠
    模拟网络延时放大问题的发生性//模拟网络延时:放大问题的发生性publicclassTestSleepimplementsRunnable{//票数privateintticketNums=10;@Overridepublicvoidrun(){while(true){if(ticketNums<=0){......
  • 线程
    目录线程线程概念的引入背景进程有了进程为什么要有线程进程和线程创建线程创建线程的两种方式参数和方法Thread类中的几个方法如何开启多线程进程和线程的比较1.pid不同2.开启效率的不同3.内存数据的共享不同多线程实现socket守护线程GIL锁(全局解释器锁)验证GIL的存在GIL与普通......
  • Java多线程(一篇从0讲透)
    多线程思维导图看天下:1.概述并行与并发并行:指两个或多个事件在同一时刻发生(同时发生)并发:指两个或多个事件在同一个时间段内发生。(交替执行)线程与进程进程:是指一个内存中运行的程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程记忆:进程的英文......
  • C#线程池
    C#中,线程池是一种用于执行异步操作的机制。线程池中维护着一组可重用的线程,我们可以将异步操作放到线程池中执行,从而避免阻塞当前线程。当异步操作完成后,线程池会将线程返回给线程池,以供下一次使用。如果线程池中的线程已经全部使用,而新的异步操作需要使用线程池中的线程时,线程池......
  • 调试freeradius时遇到的 线程池以及udp相关问题
    调试线程池过程中遇到了一个return和pthread_exit的问题;google一下发现右如下概念首先,return语句和pthread_exit()函数的含义不同,return的含义是返回,它不仅可以用于线程执行的函数,普通函数也可以使用;pthread_exit()函数的含义是线程退出,它专门用于结束某个线程的执行。在主......
  • 线程池
    //五个参数的构造函数publicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,BlockingQueueworkQueue)//六个参数的构造函数-1publicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeU......
  • Linux线程同步必知,常用方法揭秘!
    一、为什么要线程同步在Linux多线程编程中,线程同步是一个非常重要的问题。如果线程之间没有正确地同步,就会导致程序出现一些意外的问题,例如:竞态条件(RaceCondition):多个线程同时修改同一个共享变量,可能会导致不可预测的结果,因为线程的执行顺序是不确定的。死锁(Deadlock):当两个......
  • 多线程相关的问题(面试)
    1、线程创建的方式有哪几种1、继承Thread类;2、实现Runnable接口;3、实现Callable接口;4、使用Executor工具类创建线程池;5;使用ThreadPoolExecutor工具类创建线程池。2、线程的5种状态流转线程的状态如下状态:新建、就绪、运行、【阻塞】(等待(时间片用尽)、主动等待、挂起)、......
  • 结合 操作系统、Java多线程 学习并发编程
    为什么我们需要考虑并发?不考虑的话会出现什么问题?并发的多个程序(进程/线程)会对计算机资源进行争夺,如果不加以控制会出现混乱、严重影响程序运行效率,甚至错误首先是对CPU时间片的争夺对于多线程编程而言,由于创建线程后,线程的执行顺序是由调度程序控制的,也就是说各个线程的执行顺......
  • 多线程简介以及线程同步
    1.实现多线程1.1简单了解多线程【理解】是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。1.2并发和并行【理解】并行:在同一时刻,有多个指令在多个CPU上同时执行。并发:在同一时刻,有多个指令......