P
Paul Rubin
Is there any reason Queue shouldn't have an iterator interface?
I.e. instead of
while True:
item = work_queue.get()
if item is quit_sentinel:
# put sentinel back so other readers can find it
work_queue.put(quit_sentinel)
break
process(item)
with accompanying hair on the other side to create and send a sentinel,
you'd just say:
for item in work_queue:
process(item)
You'd still need hair at the writing end to tell the readers when to
finish, either by directly inserting a sentinel or with
"work_queue.done()" or something like that.
I.e. instead of
while True:
item = work_queue.get()
if item is quit_sentinel:
# put sentinel back so other readers can find it
work_queue.put(quit_sentinel)
break
process(item)
with accompanying hair on the other side to create and send a sentinel,
you'd just say:
for item in work_queue:
process(item)
You'd still need hair at the writing end to tell the readers when to
finish, either by directly inserting a sentinel or with
"work_queue.done()" or something like that.