【ヒント】パイソンスレッド開始の最大数を制限するためにセマフォを使用してプログラミングするマルチスレッド

1  インポートスレッディング
 2  インポート時間
 3。 
4。 
5つの。 クラス(threading.Threadの)MyThread:
 6は      semaphore_run = threading.Semaphore(100)  100スレッドまでの実行
7。 
8。     DEF開始(自己):   #1 リロード開始方法
。9          MyThread.semaphore_run .acquire()  開始する前にセマフォを取得するために
10を         試み11              スーパー()(開始)。
 12          除く13              MyThread.semaphore_run.release()  は、セマフォを解放するスレッドが起動失敗した
14  
15     DEF(自己)を実行します。   スレッディングモジュールは、スレッドを処理余波を提供していない実行タスクの新しいスレッドが_run機能、リハビリテーションや実行で定義されたように、
16          試み17              self._runを()
 18は         最終的にはタスクが完了した後またはスレッドリリースには、異常終了をセマフォ
19              MyThread.semaphore_run.releaseは()
 20  
21      DEF _run(セルフ):  スレッドの本当のタスクの実行
22          time.sleep(3)  何かをするふりを
23  
24  
25  のIF  __name__ == ' __main__ 'テスト
26      しばらくトゥルー:
 27         タスク= MyThread()
 28          task.start()
 29          プリント(タスク)

 

おすすめ

転載: www.cnblogs.com/qyxfzmbz/p/12348276.html