线程与进程的区别
不同进程享有各自独立的地址空间。切换花销大
同一进程的不同线程享有公共的地址空间。切换花销小
操作系统拥有内核空间和用户空间。用户态下CPU只享有前者控制权,内核态下CPU两者皆可控制。
用户级线程
用户空间—放置进程(一个进程含多个线程,构成一张线程表)
内核空间—放置进程表。
特点:线程的切换不需要CPU进入内核态。一旦发生系统调用(内核态),会阻塞进程,从而阻塞线程。操作系统以进程为CPU调度单位。
核心级线程
用户空间—放置进程(一个进程含多个线程)
内核空间—放置进程表和线程表。
特点:线程的切换需要CPU进入内核态。C操作系统以线程为CPU调度单位。