1114. Print in Order
On This Page
from threading import Semaphore
class Foo:
def __init__(self):
self.a = Semaphore(1)
self.b = Semaphore(0)
self.c = Semaphore(0)
def first(self, printFirst: 'Callable[[], None]') -> None:
self.a.acquire()
# printFirst() outputs "first". Do not change or remove this line.
printFirst()
self.b.release()
def second(self, printSecond: 'Callable[[], None]') -> None:
self.b.acquire()
# printSecond() outputs "second". Do not change or remove this line.
printSecond()
self.c.release()
def third(self, printThird: 'Callable[[], None]') -> None:
self.c.acquire()
# printThird() outputs "third". Do not change or remove this line.
printThird()
self.a.release()