前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >yield函数,stop函数 ,interrupt函数

yield函数,stop函数 ,interrupt函数

作者头像
名字是乱打的
发布2022-05-13 11:33:01
1.9K0
发布2022-05-13 11:33:01
举报
文章被收录于专栏:软件工程
yield()概念:

当调用Thread.yield()函数时,会给线程调度器一个当前线程愿意让出CPU使用的暗示,但是线程调度器可能会忽略这个暗示。(它不会对锁行为产生影响)

源码说明文档

如何停止线程?
  • 通过调用stop()方法停止线程 已被放弃使用,stop()太过暴力,不安全(线程A调用B的stop()时并不知道线程B的具体情况,这样可能导致线程B的清理工作无法完成或者导致B马上释放锁造成数据不同步)
  • 通过调用suspend()和resume()方法 同样被废弃
  • 调用interrupt(),通知线程应该中断了,目前正常使用
interrupt()

调用interrupt(),通知线程应该中断了 ①如果线程处于被阻塞状态,那么线程将立即退出被阻塞状态,并抛出一个InterruptedException异常。 ②如果线程处于正常活动状态,那么会将该线程的中断标志设置为true。被设置中断标志的线程将继续正常运行,不受影响。

interrupt()需要被调用的线程配合中断 ①在正常运行任务时,经常检查本线程的中断标志位,如果被设置了中断标志就自行停止线程。 ②如果线程处于正常活动状态,那么会将该线程的中断标志设置为true。被设置中断标志的线程将继续正常运行,不受影响。

关于interrupt的相关概念可以看看https://blog.csdn.net/zhuyong7/article/details/80852884

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • yield()概念:
    • 如何停止线程?
      • interrupt()
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档