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)

Development

Posted by arkgame