用户级线程:
从这张图上面可以看出来,用户级线程的管理是由应用程序的进程来完成的,而不关内核的事。在内核看来还是只有进程的概念,所以线程的调度也就可以通过应用程序自己设定,不用核心态的特权。
但是也就是因为这样,在内核中没有线程的概念,如果一个线程进入内核,然后再系统调用的时候阻塞了,那么,核心只会把它作为整个进程阻塞了,也就是说这个进程中的所有线程都被阻塞了。
线程状态和进程状态是独立的(从何说起?不理解)
优点:
缺点:
内核级线程:
所有线程管理由核心完成。
没有线程库,但对核心线程工具提供API。
核心维护进程和线程的上下文。
线程之间的切换需要核心支持。
以线程为基础进行调度。
例子:Windows
优点:
缺点: