多进程与多线程的区别?
数据共享:进程数据分开,共享复杂,同步简单;线程共享进程数据,同步复杂;
开 销:内存占用多,切换开销大,CPU利用率低;线程内存占用少,切换开销小,CPU利用率高;
复 杂 度:进程编程简单,调试简单;线程编程、调试较复杂;
互相影响:进程之间相互独立,不会互相影响;线程之间联系密切,一个线程挂掉可能导致整个进程挂掉;
分 布 式:进程适用于多机,多核;线程适用于多核分布式。
数据共享:进程数据分开,共享复杂,同步简单;线程共享进程数据,同步复杂;
开 销:内存占用多,切换开销大,CPU利用率低;线程内存占用少,切换开销小,CPU利用率高;
复 杂 度:进程编程简单,调试简单;线程编程、调试较复杂;
互相影响:进程之间相互独立,不会互相影响;线程之间联系密切,一个线程挂掉可能导致整个进程挂掉;
分 布 式:进程适用于多机,多核;线程适用于多核分布式。