1. In a computer system having one or more processors coupled to a memory, a method for multi-threaded processing, comprising: notifying one or more of the processors running a first thread or thread group of a preemption by a second thread or thread group characterized by a higher priority than the first thread; notifying the one or more of the processors of a time limit for pre-emption associated with the second thread or thread group; and, if the first thread or thread group can complete its execution or save data that it needs to save before exiting or remove a lock on a mutex so that other threads may access the mutex after the first thread exits within the time limit, yielding the one or more of the processors to the second thread or thread group within the time limit without saving a context of the first thread or thread and, if the first thread or thread group cannot complete its execution or save data that it needs to save before exiting or remove a lock on a mutex so that other threads may access the mutex after the first thread exits within the time limit, performing a context switch from the first thread or thread group to the second thread or thread group.