How smart are Semaphore Objects?
Matthew D. Wood
woodm at equire.com
Tue Oct 30 09:38:50 EST 2001
Ype Kingma <ykingma at accessforall.nl> wrote in message
> A Semaphore can be released from an other thread.
That sucks.
> You might prefer to use RLock. Releasing it is documented ao. by:
The reason I wanted to use a semaphore, instead of a (lock or Rlock)
was the counting ability. I'm trying to limit my number of threads to
say 50. You can't do that with an Rlock, right?
Hmmmm. Maybe a condition with an Rlock... I will have to look.
> It can be better for performance to release a Semaphore from another thread.
> I would consider this as a candidate for style improvement, though.
I don't understand. Why would it be better for a non-owning thread to
release a Semaphore?
> > This may seem a bit paranoid, but in big groups, paranoid is so
> > important. My code may be a bit large, but it's never the part that
> > crashes because of a divide by 0 or a file didn't open because it
> > never existed.
>
> Nod.
Thanks.
> > Maybe there is an exception the Semaphore raises? I don't know.
> >
>
> When you are paranoid enough test RLock. You'll like it.
Like I said, RLock seems like a 1 or 0 thing. I need a less than
MAX_THREADS thing.
> > Thanks for helping. I really appreciate the time and effort.
>
> My pleasure,
Again, thank you.
More information about the Python-list
mailing list