Patent ID: 6934741

Claim:
A computer system that employs a plurality of execution threads to perform tasks that the threads identify dynamically, the computer system being so programmed as to: A) provide a plurality of task queues, each of which is associated with a different ordered pair of the threads, one thread of the ordered pair being denominated the enqueuer of that queue and the other being denominated the dequeuer thereof, wherein the execution threads operate so that only an enqueuer of a task queue adds entries to that task queue and only the dequeuer of a task queue removes entries from that task queue; B) when a thread identifies a task, push an identifier of the task thus identified onto a set of at least one of the queues of which that thread is an enqueuer; and C) when a thread requires one of the dynamically identified tasks to perform, cause that thread to perform a task identified by a task identifier fetched by that thread from a task queue of which that thread is the dequeuer.