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.
37
Page: Previous 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 Next
Last modified: September 9, 2013