Я пытаюсь реализовать алгоритм многоразового барьера из Маленькой книги семафоров, но без использования счетчика. Я думал о реализации, в которой я могу использовать 4 барьера, но я не могу найти способ узнать, например, когда все потоки прошли первые два барьера. Кроме того, я подумал о другой реализации с некоторыми логическими переменными:
def threadA():
isOpenA = True
barrierA.wait()
isOpenA = False
barrierA.signal()
isOpenA = True
while isOpenA == True:
#hold threads here until each one arrives
#barrierB wait
#signal barrierB
Есть ли способ реализовать многоразовый барьер без использования счетчика?