Python threadingモジュールの利用方法1
サンプルコード:
#-*- encoding: utf-8-*-
import string, threading, time
def thread_main(a):
global count, mutex
# スレッド名を取得
threadname = threading.currentThread().getName()
for x in xrange(0, int(a)):
# ロックを取得
mutex.acquire()
count = count + 1
# ロックを解除
mutex.release()
print threadname, x, count
time.sleep(1)
def main(num):
global count, mutex
threads = []
count = 1
#ロックの作成
mutex = threading.Lock()
# スレッドオブジェクトを作成
for x in xrange(0, num):
threads.append(threading.Thread(target=thread_main, args=(10,)))
# すべてのスレッドを起動
for t in threads:
t.start()
# 子スレッドが終了するのをメインスレッドが待機
for t in threads:
t.join()
if __name__ == '__main__’:
num = 4
# 4つのスレッドを作成
main(4)