Queue: Which form is better/more Pythonic?
Alex Martelli
aleax at aleax.it
Sat Feb 22 15:26:15 EST 2003
More information about the Python-list mailing list
Sat Feb 22 15:26:15 EST 2003
- Previous message (by thread): Queue: Which form is better/more Pythonic?
- Next message (by thread): no shift/unshift?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Jeff Hinrichs wrote: ... > I don't want to block on reading the queue since that would block the UI > loop. > After telling you this, am I still wrong on using get_nowait() ? Unfortunately, GUI/thread synchronization does require "busy loops" (polling) in most cases (few GUIs have good integration with multiple threads in their main loops). There are still right and wrong ways to do it, and the Cookbook has a good example by Jacob Hallén which I suggest you check. If what you want to do is "make a burst ensuring we process all messages arrived SO FAR on the queue" (and you do such bursts periodically on a larger scale), I would then suggest calling get_nowait until an Empty exception is raised, and handling the latter with a try/except to break out of the loop -- but either of your favourite approaches would work almost equivalently anyway, and who cares if occasionally one message happens to end up being processed in the next burst, it's something that's gonna happen anyway, be it slightly more rarely or slightly more often -- it depends on "race conditions" that are not under your control. Alex
- Previous message (by thread): Queue: Which form is better/more Pythonic?
- Next message (by thread): no shift/unshift?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list