Patent ID: 7016923

Claim:
For employing a computer system, which includes memory, to execute a plurality of execution threads that perform tasks dynamically discovered thereby, a method comprising: A) allocating in the computer system's memory a plurality of arrays, of which a respective one at a time is associated with each said thread; B) employing each said thread to store as array entries in the array associated therewith task identifiers that identify tasks dynamically discovered by that thread; C) employing at least one thread to store as an array entry in one of the arrays a list identifier that identifies an array that contains task identifiers; and D) employing at least one of the threads to perform on one of the arrays a task-retrieval operation in which that thread: i) retrieves an array entry from that array; ii) determines whether the array entry thus retrieved is a task identifier or a list identifier; iii) if the retrieved entry is a task identifier, performs the task thereby identified; and iv) if the retrieved array entry is a list identifier, performs a task-retrieval operation on the array thereby identified.