擅长:python、mysql、java
<p>看看一个优秀的<a href="http://www.dabeaz.com/GIL/" rel="nofollow noreferrer">work on explaining GIL</a>,然后注意cStringIO是纯用C编写的,它的调用不会释放GIL。在</p>
<p>这意味着运行的线程在read()/write()期间不会自动切换(使用当前的虚拟机实现)。(操作系统将抢占线程,但是其他Python线程将无法获取GIL。)</p>
<p>看看源代码:Python-2.7.1/Modules/cStringIO.c没有提到内部保护。如有疑问,请查看来源:)</p>