1. A processor, comprising: an instruction fetch unit to fetch instructions generated by a plurality of threads; and a thread scheduler to generate a schedule for fetches by the instruction fetch unit based at least in part on priority values assigned to the plurality of threads, wherein a priority value assigned to a thread from the plurality of threads is computed by adjusting an instruction count for the thread using a priority weighting for the thread.