python - Python线程,排队,异步……这是什么意思?

标签 python multithreading asynchronous multiprocessing

我最近一直在使用Python进行线程实验,并且很好奇何时使用它。

例如,何时应该在多处理上使用多线程?当我应该使用异步IO而不是线程处理时,会出现什么情况?

我大部分都理解每个功能(我认为),但是我看不到使用一个相对于另一个有任何好处/不利之处。

  • 如果我正在创建小型HTTP服务器,应该使用什么?
  • 如果我正在创建一个小型HTTP客户端,应该使用什么?

  • 这让我感到困惑...

    最佳答案

    您想要谈论的不是特定于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/

    相关文章:

    python - 使用 Django 从服务器获取多个图像

    java - Android 多线程服务

    python - 如何在 Python 中结束给定时间后运行的程序

    android - 如何在Handler线程中做横向数据

    c# - WinForms Control.BeginInvoke 异步回调

    python - 匹配 Pandas 列列表中的单词并分配分数

    Python Pandas : creating condensed dataframe

    python - 使用 Kivy 实现圆角(仅使用 Python)

    Android异步Http客户端升级

    node.js - 如何使用 Sequelizejs 一起解决多个查询