1.三种概念——内核线程、轻量级进程、用户线程:
https://blog.csdn.net/qq_32252957/article/details/82983969
内核线程:
使用内核栈和和寄存器空间,但是调度成本高,等价于进程
内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时保存寄存器的空间。支持多线程的内核叫做多线程内核。
轻量级进程(LWP):
共用父进程的资源,调度同普通进程
轻量级进程(LWP)是建立在内核之上并由内核支持的用户线程,它是内核线程的高度抽象,每一个轻量级进程都与一个特定的内核线程关联。内核线程只能由内核管理并像普通进程一样被调度。
用户线程:
与所属进程共享进程地址空间和系统资源,调度:由在用户空间实现的线程库,在所属进程内进行调度
用户线程是完全建立在用户空间的线程库,用户线程的创建、调度、同步和销毁全又库函数在用户空间完成,不需要内核的帮助。因此这种线程是极其低消耗和高效的。