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 <raymond.hettinger at verizon.net> 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/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4