パイソンマルチプロセス並列コード

マルチプロセッシングインポートプロセス
 インポートSYS、OS
 インポート時間


デフtimetask(ストリング):
   つつ:真
     プリント(文字列)


DEF :(FUNC、引数、worknum)動作
  proc_record = []
   のための I における範囲(worknum):
    P =プロセス(ターゲット= FUNC、引数= (I))
    p.start()
    proc_record.append(P)
  のp におけるproc_record:
    p.join()


もし __name__ == ' __main__ '  
  引数= 5つの
  procsの = 4つの
  作品(timetask、引数、procsの)

 

[アンロック完成予想、あなたは数1ノーショー、プロセス間のリソースグラブ原因を見つけます]:

 

 

 

最適化の効果の後:

 

 

コード:

マルチプロセッシングインポートプロセス
 インポートSYS、OSの
 インポートからスレッドインポートロック


デフ:timetask(列)
  mutex.acquire()
  一方TRUE:
     プリント(文字列)
     場合mutex.locked():
      mutex.release()


ミューテックス = ロック()

DEF 作品(FUNC、引数、worknum):
  proc_record = []
   のための:範囲(worknum)
    P =プロセス(目標= FUNC、引数= (I))
    p.start()
    proc_record.append(P)
  以下のための P proc_record:
    p.join()


もし __name__ == ' __main__ ' 
  引数 = 5つの
  procsの = 4つの
  作品(timetask、引数、procsの)

 

おすすめ

転載: www.cnblogs.com/codeDevotee/p/11610759.html