我最近一直在使用Python进行线程实验,并且很好奇何时使用它。
例如,何时应该在多处理上使用多线程?当我应该使用异步IO而不是线程处理时,会出现什么情况?
我大部分都理解每个功能(我认为),但是我看不到使用一个相对于另一个有任何好处/不利之处。
这让我感到困惑...
最佳答案
您想要谈论的不是特定于python的,而是关于多重处理与线程化的一般情况,我认为您可以从google的很多方面从google上找到参数,一个是线程,另一个是多重处理。
但是对于python,GIL (Global Interpreter Lock)限制了多线程处理(如果您使用的是CPython),因此大多数python程序员更喜欢使用多处理而不是线程处理(这是Guido的建议)
Nevertheless, you re right the GIL is not as bad as you would initially think: you just have to undo the brainwashing you got from Windows and Java proponents who seem to consider threads as the only way to approach concurrent activities, Guido van Rossum.
您可以在这里找到一些more信息
关于python - Python线程,排队,异步……这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4132179/