1. A method for executing a plurality of threads in a multithreaded processor, the method comprising: defining a plurality of threads, wherein each thread executes a sequence of program instructions; fetching a first instruction for a first one of the plurality of threads; fetching a second instruction for a second one of the plurality of threads; issuing the first instruction, wherein the first instruction has a latency period associated therewith; and during the latency period associated with the first instruction, issuing the second instruction, wherein the first instruction and the second instruction are issued in an order independent of an order of fetching the first and second instructions.