Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで並列タスクを起動する


Pythonプログラムを、相互に依存せずに処理しているサブプログラムに分割できる場合は、プログラム全体を実行しているときに、各サブプログラムを並行して実行できます。この概念は、Pythonでは並列処理として知られています。

マルチプロセッシングあり

このモジュールは、並行して実行できるメインプロセスの多くの子プロセスを作成するために使用できます。以下のプログラムでは、プロセスを初期化してから、runメソッドを使用して複数のサブプロセスを実行します。プロセスIDを使用すると、printステートメントでさまざまなサブプロセスを確認できます。また、sleepメソッドを使用して、ステートメントを少し遅れて次々に出力します。

import multiprocessing
import time

class Process(multiprocessing.Process):
   def __init__(self, id):
      super(Process, self).__init__()
      self.id = id

   def run(self):
      time.sleep(1)
      print("Running process id: {}".format(self.id))

if __name__ == '__main__':
   p = Process("a")
   p.start()
   p.join()
   p = Process("b")
   p.start()
   p.join()
   p = Process("c")
   p.start()
   p.join()

出力

上記のコードを実行すると、次の結果が得られます-

Running process id: a
Running process id: b
Running process id: c

  1. Matplotlibを使用してPythonで複数の図を並行して描画する

    matplolibを使用してPythonで複数の図を並行して描画するには、次の手順を実行できます- numpyを使用してランダムデータを作成します。 現在の図にサブプロットを追加します。nrows=1、ncols =4、インデックス=1です。 imshow()を使用して、データを画像として、つまり2Dの通常のラスターに表示します cmap =Blues_rを使用したメソッド 。 現在の図にサブプロットを追加します。nrows=1、ncols =4、インデックス=2です。 imshow()を使用して、データを画像として、つまり2Dの通常のラスターに表示します cmap =Accen

  2. Pythonソケットエラー48を修正

    ソケットエラー48は、プロセスがすでに使用されているポートに自分自身をバインドしようとしたときにトリガーされるPythonエラーです。 「socket.error:[Errno48]アドレスはすでに使用されています」エラーの原因は何ですか? 簡単な調査の結果、原因は次のとおりであることがわかりました。 ポートにバインドされたプロセス: サーバー上にプロセスが作成されるたびに、インターネットとの通信にポートが使用されます。ポートは、一度に1人のゲストを楽しませることができるホストのようなものです。ただし、ポートを指定しない場合、サーバーはデフォルトのポートでポートを作成するだけです。次回