线程的优缺点

线程的优点:
1:创建一个新线程的代价比创建一个新进程要小的多;
2:与进程相比,线程之间的切换需要操作系统做的工作要少很多;
3:线程占用的资源要比进程少很多;
4:能充分利用多处理器的可并行数量;
5:在等待慢速I/O操作结束的同时,程序可执行其他的计算任务;
6:计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现;
7:I/O密集型应用,为了能提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作。
线程缺点:
1:性能损失
一个很少被外部事件阻塞的计算密集型线程往往无法与共它线程共享同一个处理器,如果计算密集型线程的数量比可用的处理器多,那么可能会有较大性能损失,性能损失只增加了额外的同步和调度开销,而可用资源不变。
2:健壮性降低
编写多线程需要更全面深入的考虑,在一个多线程程序里面,因时间分配上的细微偏差或者因为共享了不该共享的变量造成的影响很大,线程是缺乏保护的;
3:缺乏访问控制
进程是访问控制的基本粒度,在一个线程中调用某些OD函数会对整个进程造成影响;
4:编程难度提高
调试多线程程序比单线程程序困难的多。

猜你喜欢

转载自blog.csdn.net/flf1234567898/article/details/107329776