On 6/27/06, Kent Johnson <[EMAIL PROTECTED]> wrote:
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()

I got it. I guess it doesn't work like regular variables! Thanks! -Tino

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to