优先级反转问题是否可能在用户级线程中发生

此为《现代操作系统》的一道题目,个人感觉答案看的不是很懂,故写下自己的理解。下面为中 英文版的答案截图:

这里写图片描述


这里写图片描述

首先明确
1.优先级反转发生在:低优先级的线程L位于临界区时,一个高优先级的线程H突然就绪要被调用,此时L被挂起,即被阻塞,无法离开临界区,但因为L仍然拥有临界区的锁,导致H无法访问临界区,所以H将永远等待。
2.用户级线程的特点:内核不知道线程的存在,一个线程处于阻塞时整个进程都会被阻塞

对于用户级线程,分为两种情况:
1.不同进程中的线程。此时相当于进程的优先级反转,有可能发生。
2.同一个进程里的线程。一个线程处于阻塞时整个进程都会被阻塞,所以不可能在低优先级线程运行的时候发生高优先级线程突然就绪【从阻塞到就绪】的情况。也不可能发生高优先级线程剥夺低优先级线程,因为剥夺后低优先级的线程处于阻塞态,会导致整个进程阻塞。

那么是不是说在用户级线程里优先级没有意义呢?
并不是,两个处于就绪态的线程,肯定是优先级高的运行,但是前提是当时的在运行的线程主动放弃CPU

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值