多线程与多进程通信方式的区别?
1) 在数据共享同步方面:多进程数据共享复杂,需要IPC;数据是分开的,同步简单;多线程共享数据简单,但是同步复杂。
2) 内存方面:多进程占有内存多,切换复杂,CPU利用率低;多线程占用内存少,切换简单,CPU利用率高
3) 创建销毁、切换方面:多进程创建销毁,切换复杂,速度慢;多线程创建销毁、切换简单,速度很快。
4) 编程调试方面:多进程编程简单,调试简单,多线程编程复杂,调试复杂。
5) 可靠性方面:多进程进程间互相不会影响,多线程一个线程挂掉将导致整个进程挂掉。