as in cases where the thread is blocked for many cycles as a result of a condition for instance if there is a cache miss the thread 39 s execution time may be cut short to allow some other thread to run the thread executed at block 166 may comprise a task thread or replenish thread whose replenish flag 60 was set u201c off u201d from the no branch of block 164 or the replenish thread whose replenish flag 60 was just turned u201c off u201d from block 162 upon completing execution of the thread for the predetermined time the credits 54 for that thread are decremented at block 168 and control proceeds to block 170 to continue processing threads in the thread list 16 until all thread processing has completed or the operating system scheduler 20 has reconfigured the processor buffers 14 the credits 54 may be decremented by a fixed value or by some calculated value chosen to represent the amount of processor resources consumed in some embodiments the units measured may be the number of instructions executed clock cycles memory references power consumption or any combination of these measurements with the described embodiments of fig4 switching between threads is handled within the processor 8 to alternate execution among threads having available credits when all credits run out then the processor 8 executes a replenish thread to call the operating system scheduler 20 to reset all the thread credits 54 to enable continued execution of the threads this allows the processor 8 to alternate executing among the threads without having to return to the operating system scheduler 20.