内核不能意识到线程的存在吗?
取决于你的线程库。内核态线程库创建的线程,内核当然是可以意识到。这类线程,在内核中和进程是一样的,或者严格地说,大致差不多,因为表征它们的数据结构是一样的。用fork创建进程,用clone创建线程,也会导致进程和线程的一些不一致。但内核肯定是能意识到的。用户态线程创建的线程,内核意识不到。但也要看你所说的“意识不到”是什么意思。理论上来说,只要进出内核空间,内核就能意识到,如果从这个层面上说,用户态线程肯定也要进出内核空间的,但是只不过不是调用clone这类本身为线程设计的接口,我们不认为它是被内核意识到的。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(1)
取决于你的线程库。
内核态线程库创建的线程,内核当然是可以意识到。这类线程,在内核中和进程是一样的,或者严格地说,大致差不多,因为表征它们的数据结构是一样的。用fork创建进程,用clone创建线程,也会导致进程和线程的一些不一致。但内核肯定是能意识到的。
用户态线程创建的线程,内核意识不到。但也要看你所说的“意识不到”是什么意思。理论上来说,只要进出内核空间,内核就能意识到,如果从这个层面上说,用户态线程肯定也要进出内核空间的,但是只不过不是调用clone这类本身为线程设计的接口,我们不认为它是被内核意识到的。