Appeal 2007-2127 Reexamination Control No. 90/006,621 frequent opportunities to check the status of all threads. If the time slice of the current thread is exhausted and if another thread of equal (or higher) priority is ready to run, the current thread is preempted; otherwise it is allowed to continue running. k. Multithreading Multithreading is the concurrent execution of two or more threads in the same program. As described in Custer, Inside Windows NT, page 94: [T]here are times when a different approach to concurrency is beneficial—namely, multithreaded processes. As stated previously, the term thread refers to the movement of a processor through a program's instructions; each thread represents a separate program counter. A multithreaded process has two or more threads (and program counters) within a single process, sharing the same address space, object handles, and other resources. Concurrent execution of threads in the same program means that, at a given time, two or more threads in the same program are each executing at some point between their starting and finishing points. This is consistent with the '604 patent's description of multithreading: "The threads may thus execute incrementally and piecewise with their successive task portions executed alternately in a mutually interleaved relation and with each thread executed during its respective series of spaced timeslices interleaved with the timeslices of at least one other thread" ('604 patent, col. 1, lines 48-53). The point in the program that each thread is executing is indicated by that thread's program counter, which is part of the thread's context. 37Page: Previous 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 Next
Last modified: September 9, 2013