1
4
Python的默认实现(称为CPython)使用 Global Interpreter Lock (GIL),它实际上只允许一个线程同时运行。对于I/O绑定的多线程应用程序来说,这通常不是问题,但对于像您这样的CPU绑定应用程序,这意味着您不会看到太多多多核加速。 我建议使用一个没有GIL的不同Python实现,比如Jython,或者重写代码以使用一个不具有GIL的其他语言。用本机编译的代码编写它是个好主意,但大多数具有MD5函数的脚本语言通常都是用本机代码实现的,所以老实说,我不希望本机编译语言和脚本语言之间有太大的加速。 |
2
1
我相信以下代码将是一个比您的示例代码效率高得多的程序:
它是用Python2.x和3.x编写的,应该能够在这两种语言中的任何一种上运行。 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
rhymes · 如何让线程操作相同的java列表 2 年前 |