首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java 多线程学习(2)——停止线程

在Java中,有以下三种方法可以终止正在运行的线程: 使用退出标志,使线程正常退出,即run方法完成后,线程终止; 使用stop方法,强行终止线程,不推荐使用,可能会产生不可预料的后果; 使用interrupt...使用interrupt方法停止线程 interrupt()方法仅仅是在当前线程中打了一个停止标记,并不会真正的停止线程。...可以看出调用interrupt方法并没有停止线程。...判断线程是否是停止状态 Thread.java类中提供了两种方法判断线程是否是停止状态: this.interrupted():测试当前线程是否已经中断。执行后具有将状态置清除为false的功能。...System.out.println("处于停止状态,退出线程!")

56330

线程停止与暂停

1.停止线程     停止线程不像停止一个循环break一样干脆。   停止一个线程意味着在线程处理完任务之前停掉正在做的操作,也就是放弃当前的操作。...停止一个线程可以用Thread.stop(),但最好不要用它。虽然它确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且已经作废的方法。   ...大多数停止一个线程用Thread.interrupt()方法,尽管方法的名称是”中止,停止”的意思,但这个方法不一定会停止一个正在运行的线程,还需要加入一个判断才可以完成线程停止。  ...在Java中有3种方法可以停止正在运行的线程:   (1)使用退出标志使线程正常终止,也就是当run方法完成后线程终止。   ...1.停止不了的线程     调用thread.interrupt()方法,但是此方法并不会马上停止线程,只是在当前线程打了一个停止的标记,并不是真正的停止线程

5.5K20

话说 线程创建&启动&停止

线程创建&启动&停止 线程啊是个好东西,但是平时工作很少自己创建线程,所以一些基础的操作可能就不容易记起来,这篇文章常看看有益身心健康 1....这是一个线程03! 这是一个线程04! 这是一个线程05! 线程启动之后就会执行run方法 3. 停止线程/中断 3.1....Thread.sleep(5000); // 停止 t1.stop(); 结果: 对象去洗澡了 钻被窝等着......1000); flag = false; } } 多次输出结果: 505、525、507、512 可以看到每次输出结果是不确定的 , 这种方式只能保证到达某个条件了就停止线程...但是不能控制线程准确点停止 比如你想让一个线程循环100次就停止 很难准确控制 3.5 interrupt 结束 也算标志位 但是比volatile高级一点 比如sleep、wait等操作会被中断

1.2K00

线程 如何停止一个线程

线程执行完不就退出了,说停止有什么意义? 当然有意义,意义在于,一般创建线程后,如果是一次性的线程,执行结束就可以了,不用管它。...如果是一个一直需要保持运行,而需要在某一时刻才需要停止线程,就需要关注线程是如何退出的。 退出方式 退出标志: 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。...interrupt 方式 方式:主动中断线程。 上面不是说不要使有stop这种方式来停止吗,这里还用 interrupt 来主动中断。...interrupt 和 stop 不同,使用这个方法并不会让线程立即中断,而是给线程打一个标志,线程会在合适的时机退出。...i=0; i<5000; i++){ if (i == 100) { // 打印这一句话后,后续还会打印 i= 后面的数字,证明线程并没有立即停止

18120

linux停止ssh服务的命令,开启、关闭、查看SSH服务

2、使用Linux下的service命令启动SSH服务 使用service命令启动SSH服务,命令执行如下。 service sshd start 命令执行后, SSH服务停止运行。...2、使用Linux下的service命令重启SSH服务 使用service命令重启SSH服务,命令执行如下。 service sshd restart 命令执行后, SSH服务自动停止并再次启动。...2、使用Linux下的service命令停止SSH服务 使用service命令停止SSH服务,命令执行如下。 service sshd stop 命令执行后, SSH服务停止运行。...提示: SSH服务的启动和停止方法、格式都是一样的,只不过使用的命令不同,比如:停止用stop,启动用start。...四、查看SSH服务状态 1、通过OpenSSH服务器的启动脚本文件查看SSH服务状态 /etc/init.d/sshd status 2、使用Linux下的service命令查看SSH服务状态 service

23.3K20

线程专题---如何停止一个线程

最近做项目及看别人源码过程中涉及到多线程的知识,感觉自己多线程方面还不够系统,所以需要系统的总结一下这方面的知识。...先从如何停止一个线程开始: 这里先记下最关键的一点: 停止线程:应该代码逻辑上停止线程中的任务从而让线程自动停止,而不是强制停止线程自身 下面先问自己几个问题,由浅入深的学习线程知识: 1、是否了解线程的用法...(2)、对于多线程共享变量来说不安全,例如AB两线程都对同一变量var操作,A线程突然被stop了,var就处在不确定状态,B线程再操作var可能造成crash等。...4、既然stop,suspend 不可用,如何设计可以随时被中断而取消的任务线程线程是与任务强绑定的,线程的结束就是任务的结束。任务结束的时候让线程自动停止。...所以应该代码逻辑上实现线程中任务的停止线程的执行模式应该是协作的任务执行模式。 满足以下几点: 通知目标线程自行停止,而不是强制停止。 目标线程应当具备处理中断的能力。

62220
领券