1. A method for selecting an instruction for processing in a simultaneous multithreaded system, from a thread characterized by a priority, the method comprising: retrieving an execution indication for the thread; adjusting the retrieved indication by a priority-dependent scaling factor associated with the thread to determine a dynamic priority for the thread; and processing an instruction from the thread according to the dynamic priority determined for the thread.