像下面这样,我想与许多个人电脑在一个特定的IP范围内通信。在
My PC ---+------> Client A PC
+------> Client B PC
+------> Client C PC
.................
+------> Client Z PC
因为有太多的客户机无法通信,所以我尝试了多线程。 连接插座()连续产生超时错误。 如果我在一个线程中尝试,没有问题。在
我在谷歌上搜索发现了以下内容:
Python Interpreter blocks Multithreaded DNS requests?
在某些平台上,socket模块可能是线程不安全的。在
所以我把代码改成了多重处理。但是它仍然会产生同样的错误。在
在下面的代码示例中,test泳single()将正常完成。 test_mp()和test_mt()都会产生超时错误。在
你有没有经历过这种不正常的行为? 测试环境是WindowsXPSP3,Python2.5.4。 也尝试了python2.6.6和2.7.0,同样的错误。在
^{pr2}$
davidbeazley围绕pythongil以及它如何影响IO和多线程做了一些伟大的研究。你可以找到关于他的研究的信息here,here。在
相关问题 更多 >
编程相关推荐