Patent ID: 8108862

Claim:
A thread scheduling method comprising: performing a scheduling for threads on a thread list to be executed by a multithreaded processor, wherein the scheduling is performed as a function of a variable representing an idle time of the processor, a first thread on the thread list is designated as a next in-order thread, a second thread on the thread list is designated as a next out-of-order thread and the first thread precedes the second thread in the thread list, the second thread is loaded into the processor for execution before the first thread if the first thread is not yet in an available status, if the second thread is in an available status, and if the variable representing the idle time is larger than an idle time threshold value assigned to the second thread, and idle time thresholds are assigned individually to each thread in the thread list to be executed by the processor and loaded individually for each respective thread into a hardware register controlling a thread scheduler.