Python:セマフォ(Semaphore)の使い方
セマフォ(Semaphore)を使用することにより、一度に実行されるスレッドの数を制限する
実装例
from threading import Semaphore, Thread
def my_func(semaphore, var1, var2):
'''
threadで実行する関数にSemaphoreを引数として渡す
:param Semaphore semaphore:
:param str var1:
:param str var2:
'''
with semaphore:
# do something
def main():
# threadを4つまで起動する
s = Semaphore(4)
...
# my_funcをthreadで実行する
t = Thread(
target=my_func,
args=(s, var1, var2)
)
t.start()