多进程和多线程其实是作用是相同的。区别是
1. 线程是在同一个进程内的,可以共享内存变量实现线程间通信
2. 线程比进程更轻量级,开很大量进程会比线程消耗更多系统资源
多线程也存在一些问题:
1. 线程读写变量存在同步问题,需要加锁
2. 锁的粒度过大会有性能问题,可能会导致只有1个线程在运行,其他线程都在等待锁。这样就不是并行了
3. 同时使用多个锁,逻辑复杂,一旦某个锁没被正确释放,可能会发生线程死锁
4. 某个线程发生致命错误会导致整个进程崩溃
多进程和多线程其实是作用是相同的。区别是
1. 线程是在同一个进程内的,可以共享内存变量实现线程间通信
2. 线程比进程更轻量级,开很大量进程会比线程消耗更多系统资源
多线程也存在一些问题:
1. 线程读写变量存在同步问题,需要加锁
2. 锁的粒度过大会有性能问题,可能会导致只有1个线程在运行,其他线程都在等待锁。这样就不是并行了
3. 同时使用多个锁,逻辑复杂,一旦某个锁没被正确释放,可能会发生线程死锁
4. 某个线程发生致命错误会导致整个进程崩溃
转载于:https://my.oschina.net/suyain/blog/1858743