社区
其它技术问题
帖子详情
关于多线程,用户线程与内核线程
Son_of_Dream
2011-04-10 12:19:22
"内核管理线程在一个线程执行阻塞系统调用时,内核能够调度应用程序的另外一个线程。"
想请朋友帮忙解答这一句话的意思。
附注:非计算机专业学生,在看一本多核编程的书,有c,c++,汇编的一些基础。
...全文
107
6
打赏
收藏
关于多线程,用户线程与内核线程
"内核管理线程在一个线程执行阻塞系统调用时,内核能够调度应用程序的另外一个线程。" 想请朋友帮忙解答这一句话的意思。 附注:非计算机专业学生,在看一本多核编程的书,有c,c++,汇编的一些基础。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2011-04-13
打赏
举报
回复
《Windows核心编程》
《深入解析Windows操作系统-Windows Internals》
sunlp007
2011-04-13
打赏
举报
回复
LZ给你推荐 多核计算与程序设计
这本书评价很高
Son_of_Dream
2011-04-13
打赏
举报
回复
[Quote=引用 3 楼 lyqf365 的回复:]
内核线程是受操作系统来管理的,当一个线程阻塞时,系统会调用另一个线程,但不一定就是这个进程的线程,当然,就算不阻塞,系统仍可能会调用其它进程的线程。
但是如果是用户线程的话,当一个线程阻塞了的话,那么系统可能会将在用户空间里的所有该进程的线程挂起,这时就会造成一些问题,当然,如果你的程序里是让进程自己去处理线程之间的调度,那就另外说了。
--------------------------……
[/Quote]
看的是《多核架构与编程技术》,后来逐渐看懂了,因为时间不多,还是缺乏耐心。
淘到一本《操作系统教程》的书,高教版,2003年的
致谢额~
lyqf365
2011-04-10
打赏
举报
回复
内核线程是受操作系统来管理的,当一个线程阻塞时,系统会调用另一个线程,但不一定就是这个进程的线程,当然,就算不阻塞,系统仍可能会调用其它进程的线程。
但是如果是用户线程的话,当一个线程阻塞了的话,那么系统可能会将在用户空间里的所有该进程的线程挂起,这时就会造成一些问题,当然,如果你的程序里是让进程自己去处理线程之间的调度,那就另外说了。
----------------------------------------
最好还是去看下操作系统方面的书,推荐《现代操作系统》第3版(如果有更新的,就买(借/下载)更新的)
hujiey
2011-04-10
打赏
举报
回复
你不想再你公司继续干了然后和老板说我辞职,老板会再找一个新员工来顶替你。 就这个意思
呵-呵呵
2011-04-10
打赏
举报
回复
你先要学一下相关操作系统的编程,Windows下面的话看《Windows程序设计》,然后学习Windows的多线程程序设计。
java
内核
线程
和
用户
线程
_
用户
线程
与
内核
线程
的对应关系
程序一般不会直接去使用
内核
线程
,而是去使用
内核
线程
的一种高级接口——轻量级进程(Light Weight Process,LWP),轻量级进程就是我们通常意义上所讲的
线程
(达内长沙java培训在这称它为
用户
线程
),由于每个轻量级进程都由一个
内核
线程
支持,因此只有先支持
内核
线程
,才能有轻量级进程。
用户
线程
与
内核
线程
的对应关系有三种模型:一对一模型、多对一模型、多对多模型,在这以4个
内核
线程
、3个
用户
...
内核
线程
与
用户
线程
的区别
内核
线程
的创建、销毁、切换和调度都需要操作系统
内核
的支持,而
用户
线程
的创建、销毁、切换和调度由应用程序自己控制。
内核
线程
和
用户
线程
都是
线程
的一种,但是
内核
线程
是由操作系统
内核
创建和管理的,运行在
内核
态,可以访问操作系统的所有资源,而
用户
线程
是由应用程序创建和管理的,运行在
用户
态,只能访问应用程序的资源。不同点:
内核
线程
运行在
内核
态,可以访问操作系统的所有资源,而
用户
线程
运行在
用户
态,只能访问应用程序的资源。不同点:
内核
线程
的创建和销毁需要操作系统
内核
的支持,而
用户
线程
的创建和销毁由应用程序自己控制。
用户
线程
与
内核
线程
、
线程
池及其工作原理
一、
用户
线程
与
内核
线程
用户
线程
(ULT):指不需要
内核
支持而在
用户
程序中实现的
线程
,其不依赖于操作系统的核心,应用进程利用
线程
库创建、同步、调度和管理
线程
函数来控制
用户
线程
。另外,因为
用户
线程
是由应用进程利用
线程
库创建和管理,不依赖于操作系统核心,不需要进行
用户
态与核心态的切换,速度快,操作系统的
内核
不知道
多
线程
的存在,因此一个
线程
阻塞将使得整个进程包括其所有
线程
阻塞
内核
线程
(KLT)...
java是
内核
线程
还是
用户
线程
_死磕 java
线程
系列之
线程
模型
问题(1)
线程
类型有哪些?(2)
线程
模型有哪些?(3)各语言使用的是哪种
线程
模型?简介在Java中,我们平时所说的并发编程、
多
线程
、共享资源等概念都是与
线程
相关的,这里所说的
线程
实际上应该叫作“
用户
线程
”,而对应到操作系统,还有另外一种
线程
叫作“
内核
线程
”。
用户
线程
位于
内核
之上,它的管理无需
内核
支持;而
内核
线程
由操作系统来直接支持与管理。几乎所有的现代操作系统,包括 Windows、Linux、M...
用户
线程
和
内核
线程
区别
1.
用户
级
线程
和
内核
级
线程
的区别
用户
级
线程
仅存于
用户
空间中,其创建、撤销、
线程
之间的同步与通信功能,都无须利用系统调用来实现。总之,它的实现是和操作系统无关的,
用户
进程只需要通过
线程
库来完成
线程
控制;相反,
内核
线程
的建立和销毁都是由操作系统负责、通过系统调用完成的。从描述的区别上就可以看出,
用户
级别的
线程
不用经过
内核
空间,效率肯定很高,而
内核
线程
是驻留在
内核
空间的,
用户
进程在创建使用
内核
线程
时访问
内核
空间是必不可少的工作,效率上相对较低。既然
内核
线程
效率低,那为什么还要引入他呐?我们知道在
线程
中经常会用到
其它技术问题
3,882
社区成员
9,046
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章