1
在cPython(默认的Python实现)中,线程切换发生的频率如何?这不是关于使用多核的问题;我知道GIL,并意识到只有一个线程将在同一时间运行。Python切换线程的频率如何?
我已经看到了几个情况,我有两个日志消息的顺序,第一个日志消息将被发射,但第二个不发射几秒钟。这可能是因为Python决定在两个日志语句之间切换线程。这让我相信Python每隔几秒就会在线程之间切换一次,这比我预期的要慢得多。它是否正确?
或您的日志消息卡在I/O缓冲区中。当登录多线程环境时,在'写入'之后'刷新'日志可能是一个好习惯。 –
用于线程切换,请查看和'打勾'的概念 –
另请参见['sys.setcheckinterval'](https:// docs。 python.org/2/library/sys.html#sys.setcheckinterval) –