python面试题之python多线程与多进程的区别

多线程可以共享全局变量,多进程不能

多线程中,所有子线程的进程号相同,多进程中,不同的子进程进程号不同

 

线程共享内存空间;进程的内存是独立的

同一个进程的线程之间可以直接交流;两个进程想通信,必须通过一个中间代理来实现

创建新线程很简单; 创建新进程需要对其父进程进行一次克隆

一个线程可以控制和操作同一进程里的其他线程;但是进程只能操作子进程

 

应该尽量避免多进程共享资源。多进程共享资源必然会带来进程间相互竞争。而这种竞争又会造成race condition,我们的结果有可能被竞争的不确定性所影响。但如果需要,我们依然可以通过共享内存和Manager对象这么做。

python面试题之python多线程与多进程的区别_第1张图片



所属网站分类: 面试经典 > python


作者:骷髅无悔

链接:http://www.pythonheidong.com/blog/article/5/

来源:python黑洞网

你可能感兴趣的:(python面试题之python多线程与多进程的区别)