[snip] > class nameB: > def __init__(self, sema): > self.sema = sema > <do some stuff> > > def run(self): > self.semaA.acquire() > <do some stuff> > I think here Kent meant self.sema.acquire() [snip]