关于用户态线程和内核态线程的问题

qq_26602805 2018-04-18 10:44:10
1:用户线程与内核线程有什么联系?是因为用户线程会通过系统调用所以产生类似于生产者和消费者的关系吗?就是这样的关系吗(用户线程与内核线程)
2:书上说用户态线程会发生阻塞,导致其他线程无法执行,但是内核态线程阻塞的话,其他线程却可执行?????
3:书上还说内核负责用户态进程调度,这不是CPU调度干的事吗???他的意思是不是就是CPU调度的意思?
书上这一个官方话语,另一本又一个官方话语,我都开始怀疑这些人到底懂不懂OS了!!!!
...全文
1451 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cocoabird 2018-04-24
  • 打赏
  • 举报
回复
你看的是什么书?能提出问题说明你思考了,用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,用户进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。用户线程不需要用户态/核心态切换,速度快,操作系统内核不知道多线程的存在,因此一个线程阻塞将使得整个进程(包括它的所有线程)阻塞。由于这里的处理器时间片分配是以进程为基本单位,所以每个线程执行的时间相对减少为了在操作系统中加入线程支持,采用了在用户空间增加运行库来实现线程,用户线程是不能被操作系统所感知的。 内核线程和用户线程都有自己的优势和缺点,一般配合使用
wsl_wushili 2018-04-23
  • 打赏
  • 举报
回复
CPU只有一个,内核线程和用户线程必须是轮流运行。进程调度的就是内核安排CPU给线程使用。

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧