1. A method to be executed at least in part in a computing device for scheduling threads in a multi-core processor system, the method comprising: receiving a thread to be scheduled for processing by the processor system; determining an affinity status of the received thread; assigning a sequence number to the thread based on a time of arrival of the thread; and if the thread has a fixed affinity for a particular core, placing the thread in a per-processor queue for the particular core; else placing the thread in a global run queue for all available cores.