dan*_*ano 11 python multithreading python-multithreading
我在thread今天的模块文档的"警告"部分中遇到了这个有趣的声明:
并非所有可能阻止等待I/O的内置函数都允许其他线程运行.(最流行的(
time.sleep(),file.read(),select.select())正常工作.)
几乎所有其他地方我都见过Python线程,我们总是假设所有执行I/O的内置函数都会释放GIL,这意味着其他线程可以在函数阻塞时运行.据我所知,I/O操作阻止其他线程的唯一风险是,如果它是由一个忽略释放GIL的错误C扩展.
那么,来自thread文档的这句话实际上是真的吗?是否有任何不释放GIL的内置阻塞I/O操作?到目前为止,我还没有找到任何具体的例子.
dan*_*ano 10
以下是Guido van Rossum关于此问题的官方消息:
不是在我最疯狂的梦想中,我可以预期这种说法在20年后仍会出现在文档中.:-)请摆脱它.
所以我的问题的答案是"不".
| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |