|
|
1
4
Python的默认实现(称为CPython)使用 Global Interpreter Lock (GIL),它实际上只允许一个线程同时运行。对于I/O绑定的多线程应用程序来说,这通常不是问题,但对于像您这样的CPU绑定应用程序,这意味着您不会看到太多多多核加速。 我建议使用一个没有GIL的不同Python实现,比如Jython,或者重写代码以使用一个不具有GIL的其他语言。用本机编译的代码编写它是个好主意,但大多数具有MD5函数的脚本语言通常都是用本机代码实现的,所以老实说,我不希望本机编译语言和脚本语言之间有太大的加速。 |
|
|
2
1
我相信以下代码将是一个比您的示例代码效率高得多的程序:
它是用Python2.x和3.x编写的,应该能够在这两种语言中的任何一种上运行。 |
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 2 年前 |
|
|
András Takács · Python多线程错误 2 年前 |