如何安全中断一个正在运行的线程?
线程是操作系统进行运算调度的最小单位,所以线程是系统级别的概念。在 Java 中,可以使用 Thread.interrupt()方法安全中断一个正在运行的线程。其中 Thread.interrupt()方法用于设置线程的中断状态为"中断"。它并不会直接终止线程的执行,而是给线程一个中断信号。在执行线程的代码中,可以通过检查 Thread.interrupted()或 Thread.currentThread().isInterrupted()方法来判断线程是否被中断。如果线程被中断,应根据具体情况决定如何处理中断。可以选择抛出 InterruptedException 异常、恢复线程到一个安全的状态,或者终止线程的执行。如果线程处于等待状态(如 Thread.sleep()、Object.wait()、Thread.join()等),那么线程会立即从等待状态返回,并且 InterruptedException 异常会被抛出。使用 Thread.interrupt()方法可以安全地中断一个正在运行的线程,并通过 Thread.currentThread().isInterrupted()方法检查线程的中断状态。在处理中断时,可以选择抛出 InterruptedException 异常、恢复线程到安全状态或者终止线程的执行。
想引流就搞点像样的东西
最近就业形式有点困难,我建了一些工作内推群,里面有一些工作内推的机会,有需要的小伙伴,可以加我微信:su_san_java ,备注:v2ex+所在城市,即可拉你进群。
别急,我的干货文章很多,后面会逐步发表的,第一次玩这个网站,先发一篇简短的内容跑一下流程。
这种 Java 入门的东西就没必要拿来引流了吧
哈哈哈,收到,我后面发点有深度的,先发一篇文章试试水。
推广请发推广节点建议先去看下 guide hesudu.com/go/guide在这个论坛发言请珍惜自己账号和 IP
收到
毫无营养的水文
这是 v 站,一个技术大佬扎堆的地方,发入门级别的东西确实会挨喷。Java 的 Thread 类在 JVM 中只是一个对象而已,它内部的关键方法都是 native 修饰的,而在 JVM 中是通过 JNI 技术调用 native 修饰的方法。当你创建一个 Java Thread 对象时,在这个对象内部,也会创建一个操作系统的线程,这样就把 Java 的线程和操作系统的线程关联起来了。在你上面说的调用 Thread.interrupt 方法,增加一个线程中断标识位,底层调用的是 pthread 库中的函数,最终调用操作系统级别的 os::interrupt...在 v 站想引流的话真的需要搞点像样的东西,别弄一些烂大街的八股文,这样会显得自己 low level 。
我的评价是一托
长篇好文要注册满 15 天之后,才能发。
那就别发了,你猜多少人已经直接 block 你了
block 了,下次记得上干货 XD
能换个地方侮辱人么?快去做点功课吧,这里没那么多韭菜给你割。
有些人太自以为是了,我怎么割韭菜了?
能上 V 站就可以排除掉大部分小白了,和你发的文章内容太冲突了, 推不开的
怎么举报?
站长,把这人屏蔽了吧
本来点进来还以为又有什么骚操作呢,结果一看就是烂大街的东西。甚至还不如 anything 那个人的帖子有趣
你敢不敢写一篇文章出来看看?
你敢不敢写一篇文章出来看看?
你最后想说啥啊。。优雅停机?
【感谢 Todd投递本文 – 微博帐号:@weidagang 】 需求又变了,怎么办? 先上一个轻松的段子: 程序员XX遭遇车祸成植物人,医生说活下来的希望只有万分之一,唤醒更…
谢谢 log.error("Request to {} failed, uuid is {}.", uri, uuid, exception)==========这样异常堆栈…
不了解 iOS 开发。我司有一台 iPad 上运行的 App 每次安装只能运行 7 天,之后必须重新安装才能使用。我现在想让给它至少可以一次安装运行 1 个月,有什么可行的办法…