Method and apparatus for sharing a time quantum between threads

A method and apparatus for allowing a first thread to "share" its remaining time quantum with a second thread when the first thread is blocked. A thread may be blocked, for example, if it is waiting for a resource such as a data file or a lock. A thread may also be blocked if it is waiting...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: YUE KELVIN K, STEIN DANIEL A, SEBRéE MICHAEL A
Format: Patent
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A method and apparatus for allowing a first thread to "share" its remaining time quantum with a second thread when the first thread is blocked. A thread may be blocked, for example, if it is waiting for a resource such as a data file or a lock. A thread may also be blocked if it is waiting for an event, such as a user keystroke. If there is a thread on the run queue that "owns" the resource needed by the consumer thread, the blocked consumer thread transfers its right to execute for a remaining time quantum to the owner thread, and the owner thread executes next. If the threads are in a same process, this transfer means that no process context switch is required, since the consumer thread and the owner thread are threads of the same process. In addition, this transfer means that the time before the resource becomes available to the blocked consumer thread will be short. Similarly, if a consumer thread is blocked to await an event, such as a user keystroke, the blocked consumer thread's remaining time quantum are transferred to another thread in that is waiting on the run queue for its turn to execute. Again, if the threads are in a same process, this transfer avoids having to perform a context switch between processes.