“缺点当然是有的,你想想看,让操作系统进行线程调度,那意味着每次切换线程,就需要「陷入」内核态,而操作系统从用户态到内核态的转变是有开销的,所以说内核级线程切换的代价要比用户级线程大。还有很重要的一点——线程表是存放在操作系统固定的表格空间或者堆栈空间里,所以内核级线程的数量是有限的,扩展性比不上用...
1、切换不同:内核级线程切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,少了进出内核态的消耗。2、运行不同:内核支持线程的程序实体则是可以运行在任何状态下的程序。用户级线程的程序实体是运行在用户态下的程序。