1 インポート時間 2 からスレッドインポートスレッド、ロック 3つの。 #はNUMグローバル変数を定義 4。 NUM = 0 5つの。 #は、ミューテックスを作成 6。ロック= ロック() 7。 DEFのTEST1(): 8 グローバルNUM 。9 '' ' 10 二つに、方法ロック、2つのスレッドが急いでロックされたスレッドを呼び出している 11 正常ロックパーティが存在する場合、ロックが解かれるまで、次にもう一方の側が閉塞(待機)につながる 12 「」 ' 13である ため I における範囲(100000 ): 14 lock.acquire()#1 ロック 15 。+ = 1 NUM 16 lock.release() 17。 プリント(' TEST1出力NUM:' 、NUM) 18である 19。 DEFのTEST2(): 20である グローバルNUM 21である ため、I でレンジ(100000 ): 22である lock.acquire() #1 ロック 23 num + = 1 24 lock.release()25 print(' test2 output num:' 、num) 26 27 if __name__ == ' __main__ ': 28 t1 = Thread(target = test1) 29 t2 = Thread(target = test2) 30 t1.start() 31 t2.start() 32 t1.join() 33 t2.join()
1 test1出力番号:181043 2 test2出力番号 :200000