线程和进程
1.进程是资源分配的基本单位,线程是CPU调度和执行的基本单位
2.一个进程至少有一个线程,一个线程必须属于一个进程
3.进程间不共享内存,线程间共享内存
4.线程数据共享引发了互斥锁问题,保证共享数据一次只能被一个线程使用,使用的时候注意程序的死锁问题(利用消息通信的办法实现同步)
5.一个进程崩溃不影响其他进程,线程崩溃会影响其他线程,进而影响该线程所在的进程崩溃。
进程优缺点:
- 每个进程互相独立,不影响主程序的稳定性,子进程崩溃不影响其他进程。
- 通过增加CPU,就可以扩充性能。
- 可以尽量减少线程加锁与解锁的影响,极大的提高了性能。
- 逻辑控制复杂,需要和主程序交互
- 多进程调度开销大。
线程优缺点:
- 程序逻辑和控制方式简单。
- 所有线程可以直接共享内存和变量等。
- 线程方式消耗的总资源比进程方式少。
- 每个线程和主程序共用地址空间,最大内存地址受限。
- 线程之间的同步和加锁不易控制。
- 一个线程的崩溃可能影响到整个程序的稳定性。