1. A method for enhanced performance multithread operation in a data processing system which includes a processor, a main memory store and at least two levels of cache memory, said method comprising the steps of: executing at least one instruction within a first thread; thereafter storing a state of said processor at a selected point within said first thread, terminating execution of said first thread and switching execution to a second thread only in response to an occurrence of an identified event having a delay associated therewith which exceeds an amount of time required for a thread switch; and executing at least one instruction within said second thread wherein processing delays due to memory access latency are minimized.