マルチプロセッシングインポートプロセス インポート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の)