1. A method of scheduling a thread of a plurality of threads, the method comprising: identifying a lead thread index of a runnable thread based on a plurality of precycle signals; identifying an alternative thread index of another runnable thread based on the plurality of precycle signals; and selecting either the lead thread index or the alternative thread index during a scheduling cycle, based on a same cycle signal.