线程和多线程
一 .线程概述
(一).概念
线程:就是在一个进程中负责一个执行路径。
多线程:是实现多个线程并发执行的技术。
(二).线程的好处
1.线程之间的切换相较于进程之间的切换需要操作系统做的工作很少
2.线程占用的资源要比进程少很多
3.能充分利用多处理器的可并行数量
4.等待慢速 IO操作结束以后,程序可以执行其他的计算任务
5.计算(CPU)密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现
6.IO密集型应用,为了提高性能,将IO操作重叠,线程可以等待不同的IO操作。
(三).多线程的弊端
1.降低了一个进程里面的线程的执行频率。
2.对线程进行管理要求额外的CPU开销。线程的使用会给系统带来上下文切换的额外负担。
3.公有变量的同时读或写,当多个线程需要对公有变量进行写操作时,后一个线程会修改掉前一个线程存放的数据,发生线程安全问题。
4.线程的死锁:较长时间的等待或资源竞争以及死锁等多线程症状。