Although threads are less expensive than processes, they are still too expensive to create for each concurrent chore in some applications. The Tools of Computing Thread Package, described in "High-Performance Java Platform Computing" [Christopher and Thiruvathukal, PH-PTR, 2000] uses RunQueue objects to decrease the costs of thread creation. Runnable objects are enqueued on RunQueues awaiting threads to execute them and threads wait at RunQueues for Runnable objects to execute. This talk discusses RunQueues, their design and implementation, their integration with synchronization primitives, and their implications for programming.
Back to the schedule.