On Sat, 31 Aug 2002, Brian Pane wrote: > Wouldn't it be sufficient to guarantee that: > * each *bucket* can only be processed by one thread at a time, and > * allocating/freeing buckets is thread-safe?
No. You'd need to also guarantee that all of the buckets sharing a private data structure (copies or splits of a single bucket) were, as a group, processed by only one thread at a time (and those buckets can exist across multiple brigades even). You'd also have to guarantee that no buckets are added/removed from a given brigade by more than one thread at a time. When you add up the implications of all these things, it basically ends up with the whole request being in one thread at a time.