TECHNIQUES FOR EXECUTING THREADS IN A COMPUTING ENVIRONMENT
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for executing normally interruptible threads of a process in a non-preemptive manner includes in response to a first entry associated with a first message for a first thread reaching a head of a run queue, receiving, by the first thread, a first wake-up signal. In response to receiving the wake-up signal, the first thread waits for a global lock. In response to the first thread receiving the global lock, the first thread retrieves the first message from an associated message queue and processes the retrieved first message. In response to completing the processing of the first message, the first thread transmits a second wake-up signal to a second thread whose associated entry is next in the run queue. Finally, following the transmitting of the second wake-up signal, the first thread releases the global lock.
26 Citations
20 Claims
-
1-7. -7. (canceled)
-
8. A data processing system configured to execute normally interruptible threads of a process in a non-preemptive manner, the data processing system comprising:
-
a data storage including program code; and a processor coupled to the data storage, wherein the program code, when executed by the processor, configures the processor for; in response to a first entry associated with a first message for a first thread reaching a head of a run queue, receiving, by the first thread, a first wake-up signal; in response to receiving the wake-up signal, waiting, by the first thread, for a global lock; in response to the first thread receiving the global lock, retrieving, by the first thread, the first message from an associated message queue; processing, by the first thread, the retrieved first message; in response to completing the processing of the first message, transmitting, by the first thread, a second wake-up signal to a second thread whose associated entry is next in the run queue; and releasing, by the first thread, the global lock following the transmitting of the second wake-up signal. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A program product including program code, embodied in a data storage, for executing normally interruptible threads of a process in a non-preemptive manner, the program code, when executed by a data processing system, configuring the data processing system for:
-
in response to a first entry associated with a first message for a first thread reaching a head of a run queue, receiving, by the first thread, a first wake-up signal; in response to receiving the wake-up signal, waiting, by the first thread, for a global lock; in response to the first thread receiving the global lock, retrieving, by the first thread, the first message from an associated message queue; processing, by the first thread, the retrieved first message; in response to completing the processing of the first message, transmitting, by the first thread, a second wake-up signal to a second thread whose associated entry is next in the run queue; and releasing, by the first thread, the global lock following the transmitting of the second wake-up signal. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification