Tino Dai wrote: > How I have it now: > > semaA = threading.semaphore() > > class nameA: > def __init__(self): > <do some stuff> > > def run(self): > <do some stuff> > semaA.release() > > class nameB: > def __init__(self): > <do some stuff> > > def run(self): > semaA.acquire() > <do some stuff> > > > Does that make sense. Or is there a better way?
class nameA: def __init__(self, sema): self.sema = sema <do some stuff> def run(self): <do some stuff> self.sema.release() class nameB: def __init__(self, sema): self.sema = sema <do some stuff> def run(self): self.semaA.acquire() <do some stuff> In the client code or the unit test: semaA = threading.semaphore() anA = nameA(semaA) aB = nameB(semaA) anA.run() aB.run() Look, ma, no globals! Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor