美文网首页
11-9 多线程和多进程

11-9 多线程和多进程

作者: 正在努力ing | 来源:发表于2018-08-26 15:42 被阅读0次

Python的GIL是针对进程还是线程?

 是线程

Python多核cpu可以运行多线程吗?

Python线程执行之前获得一把锁,
然后,每执行100个字节码,解释器就会自动释放GIL锁,让别的线程有机会运行
所以即时是100个线程跑在100核cpu上,也只能用到一个核,因为同一时间上有且仅有一个线程

多进程优缺点:

多进程最大的优点就是稳定,因为一个子进程挂掉了,不会影响全局;(当然主进程挂点,那就凉凉了,但是这个概率极低)
确定: 创建一个进程的代价大,而且操作系统能过同时运行的进程数量有限

多线程优缺点

多线程的优点:创建线程的代价比较小 ,效率要高一些
多线程的缺点: 线程共享进程的内存,所以一个线程挂点,全部凉凉

 对于io炒作来说,线程优于进程
 对于cpu计算来说说,进程优于线程

 多线程和多进程最大的不同在于,多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响,而多线程中,所有变量都由所有线程共享,所以,任何一个变量都可以被任何一个线程修改,因此,线程之间共享数据最大的危险在于多个线程同时改一个变量,把内容给改乱了。

相关文章

网友评论

      本文标题:11-9 多线程和多进程

      本文链接:https://www.haomeiwen.com/subject/qkyoiftx.html