I think I was thinking of the following: create a semaphore set to zero; the main thread does N acquire operations; each of N workers releases it once after it's done. When the main thread proceeds it knows all workers are done. Doesn't that work? Also, I believe Tim once implemented a barrier lock but I can't find it right now.
--Guido On 3/14/06, Raymond Hettinger <[EMAIL PROTECTED]> wrote: > > Isn't this a job for threading.BoundedSpemaphore()? > > I don't see how that would work. ISTM that we need an inverse of a > BoundedSemaphore. If it understand it correctly, a BS blocks after some > pre-set > maximum number of acquires and is used for resources with limited capacity > (i.e. > a number of connections that can be served). With the TaskQueue, there is no > pre-set number, the queue can grow to any size, and the join() method will > block > until the counter falls back to zero. IOW, a BS is about potentially blocking > new requests and a TaskQueue is about blocking other work until outstanding > requests are complete. > > > Raymond > > > > > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com