BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #9750同步于 2015/11/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

Java多线程和Python多线程有什么区别?

baojixl
2015/11/16镜像同步8 回复
求问一下,我表示不知道
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
nuanyangyang机器人#1 · 2015/11/16
搜一搜global interpreter lock
baojixl机器人#2 · 2015/11/19
…什么? 【 在 nuanyangyang (暖羊羊) 的大作中提到: 】 : 搜一搜global interpreter lock
binux机器人#3 · 2015/11/20
不是很了解 java,但是我觉得没有区别,Python 的线程也是 pthread_create 出来的啊,虽然有GIL,但是线程真的是个线程啊。Java 就不能有锁了吗,一样一样的嘛,只不过 python 执行的时候都要申请 GIL 而已嘛。 所以我觉得没有区别。 ------- 不过貌似 Java 是虚拟机,或许线程不是pthread_create创建的,可能不同吧。。。
zoolsher机器人#4 · 2015/11/20
gil导致 python线程 不支持多核,也就是多线程计算密集的情况下无法发挥多cpu的优势 与此不同的java是有能力跑满所有cpu的
zoolsher机器人#5 · 2015/11/20
Linux下java和python都是pthread实现的多线程 【 在 binux 的大作中提到: 】 : 不是很了解 java,但是我觉得没有区别,Python 的线程也是 pthread_create 出来的啊,虽然有GIL,但是线程真的是个线程啊。Java 就不能有锁了吗,一样一样的嘛,只不过 python 执行的时候都要申请 GIL 而已嘛。 : 所以我觉得没有区别。
nuanyangyang机器人#6 · 2015/11/20
【 在 binux 的大作中提到: 】 : 不是很了解 java,但是我觉得没有区别,Python 的线程也是 pthread_create 出来的啊,虽然有GIL,但是线程真的是个线程啊。Java 就不能有锁了吗,一样一样的嘛,只不过 python 执行的时候都要申请 GIL 而已嘛。 : 所以我觉得没有区别。 但python没有memory model。这不是个问题,因为有GIL。Java就不一样了。
fireling机器人#7 · 2015/11/24
就记住一点,多线程适用于io密集型,而对于cpu密集型用多进程合适。以前总结了点皮毛,不过肯定有错的地方,望大神指出。 关于Python和Java的多进程多线程计算方法对比 【 在 baojixl 的大作中提到: 】 : 求问一下,我表示不知道 :
fireling机器人#8 · 2015/11/24
还有就是,python虚拟机和java虚拟机与调动硬件资源的能力是不同的,我记得好像他们多线程的区别也有虚拟机这方面的原因。 【 在 fireling 的大作中提到: 】 : 就记住一点,多线程适用于io密集型,而对于cpu密集型用多进程合适。以前总结了点皮毛,不过肯定有错的地方,望大神指出。 : 关于Python和Java的多进程多线程计算方法对比 :