对比线程和进程
线程的优点
- 创建一个新线程的代价要比创建一个新进程小很多
- 与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多
- 线程占用的资源要比进程的少
- 线程能充分利用多处理器的可并行量
- 在等待慢速I/O操作结束的同时,程序可执行其他的计算任务
- 计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现
- I/O密集型应用,为了提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作。
进程和线程的区别
- 进程是系统进行资源分配和调度的一个独立单位,线程是程序执行的最小单位
- 进程有自己的内存地址空间,线程只独享指令流执行的必要资源,如寄存器和栈
- 由于同一进程的各线程间共享内存和文件资源,可以不通过内核进行直接通信
- 线程的创建、切换及终止效率更高.