什么是线程切换、线程阻塞、线程中断

 我来答
大沈他次苹0B
2022-07-20 · TA获得超过7408个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:188万
展开全部
线程切换: 我们知道,CPU是以时间片进行线程调度的,一个线程在占有一个分配的时间片之后,CPU就会根据相应的策略进行线程的重新调度,这个过程会很大程度上参考线程的优先级,当然调度策略也会考虑到各个线程的等待时间等。也就是说,若是当前线程的优先级足够高的话,那么就有可能在下一次的CPU调度中再次获得一个时间片。若是当前线程未能再次获得时间片,那么它就要插入线程就绪队列,等待CPU的下一次调度,这便是线程之间的切换。

线程阻塞: 线程阻塞,指的是当一个线程执行到某一个状态时,这时候它需要获得其他资源才能继续执行(比方说IO资源),但是此时有其他线程占着IO资源不释放,那么这个线程就必须等到其他的线程将IO资源释放之后才能继续执行了,这个便是线程阻塞,此时线程在线程阻塞队列而非就绪队列中。Java中的sleep()会引起线程阻塞。(yield()-不会阻塞,仅仅是重新调度,wait()-挂起)

线程中断: 汇编语言中的中断一般指暂停当前的程序,然后跳到中断入口,执行相应的中断处理程序,处理完毕之后回到之前程序的断点继续执行。那么Java中的中断是不是也是指停止当前程序运行的意思呢?可能会觉得会奇怪,其实并非是这样的。它的存在可以说是给我们提供了一种线程的控制机制。线程中断它指的并不只是等到线程到达某个检查点决定的中断,还包括有些时候在无法到达检查点,我们需要在run()方法中执行中断。接下来让我们走近中断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式