什么是java线程中断
答案:2 悬赏:40
解决时间 2021-12-31 17:37
- 提问者网友:妖精ξ也會哭
- 2021-12-31 08:26
什么是java线程中断
最佳答案
- 二级知识专家网友:情战辞言
- 2021-12-31 08:38
线程阻塞:一般通过下面方法实现
Sleep:睡眠 中间参数毫秒 自然醒 睡眠过程交出CPU控制权且一定不被执行 占有对象锁
Yield:终止 终止后交出CPU控制权 重新进入就绪状态,下一次有可能被再一次调用
Join:终止上一级线程 使当前线程运行完后再执行上一级线程
Wait:线程等待 必须放入synchronized块中 等待时,交出cpu控制权,释放对象锁,等待唤醒后重新拥有对象锁
Synchronized:加锁同步 逻辑错误下会导致死锁阻塞 一般有业务关联情况下的对象避免有锁中锁
Sleep:睡眠 中间参数毫秒 自然醒 睡眠过程交出CPU控制权且一定不被执行 占有对象锁
Yield:终止 终止后交出CPU控制权 重新进入就绪状态,下一次有可能被再一次调用
Join:终止上一级线程 使当前线程运行完后再执行上一级线程
Wait:线程等待 必须放入synchronized块中 等待时,交出cpu控制权,释放对象锁,等待唤醒后重新拥有对象锁
Synchronized:加锁同步 逻辑错误下会导致死锁阻塞 一般有业务关联情况下的对象避免有锁中锁
全部回答
- 1楼网友:偏爱自由
- 2021-12-31 09:00
有两个办法, 一是你可以控制想中断的线程的实例, 然后调用修改这个实例的一个自己定义的running变量, 让run方法返回即可中断.
二是给线程起个名字, 就是new thread("threadname"), 然后判断当前线程是不是你想要的, 再调用interrupt方法, 捕获异常退出,不过第二个方法感觉不是很好
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯