少額Pythonのプロセス、スレッド、コルーチン

  1. プロセスは、リソース割当単位であります
  2. スレッドのスケジューリング部は、オペレーティングシステムです
  3. スイッチを処理するために必要な最大のリソース、非効率的
  4. 一般的に必要なリソースをスレッド切り替え、効率は(GILを考慮せず)は、一般的です
  5. コルーチンタスク切り替えの資源は非常に効率的、小さいです
  6. マルチプロセス、マルチスレッド並列が可能性としてCPUコアの数に基づいてされるべきではなく、コルーチンはスレッドであり、それによって複雑になります

アナロジー:

  • (鋏など)のアイテムの生産のための工場を開くために上司の欲求があります
  • 彼は、生産ラインを作るために、いくつかの金融・物的資源を費やす必要があり、この生産ラインは呼ば調製し、はさみのすべてを生成することができるように、これらのデバイス・物的資源をたくさん持っている:プロセスを
  • のみ生産することができないので、上司は生産のために労働者を見つけるために、労働者がこれらの材料の使用をすることができます生産ラインは最終的にこの事を行うには、それを行うためのステップはさみバイステップは、労働者と呼ばれます:スレッド
  • 生産性を向上させるために上司は、方法の3種類を考えます:
    1. 、シングルプロセスの複数のスレッドでその効率が2倍になるので、一緒にはさみを行うに十分な労働者を雇用し、この生産ラインでは、
    2. ボスがあるため、すべての後に、限られた資源と素材の生産ライン、可能ではないので、上司は別の生産ラインを購入するために一部の金融・物的資源を費やし、その後のいくつかの効率を向上させることで、再びステップを、このような労働者を雇用している。この生産ラインの労働者を発見しましたそのマルチプロセス、マルチスレッド・モード
    3. ボスは、今や(すなわち、プログラムは、マルチプロセスであり、プロセスごとのスレッドの数がある)の生産ラインの多くを有し、各ラインは、従業員の多くを有し、再び効率を向上させるために、ボスが損失考え見出さトリック、状態:仕事または何もで一時的な従業員は、その後、従業員が他の事を行うには、この時間を使用します(たとえば、彼は再び働くことができる手順の生産が完了した後、他の労働者を待っているような)特定の条件を待つ場合は、ので、他の言葉で:スレッドがいくつかの条件を待っている場合、あなたは他のことを行うには、この時間を利用することができ、実際には、それは次のようになります。コルーチン方法

おすすめ

転載: www.cnblogs.com/otome/p/12395998.html