"Most of today's operating systems and desktop applications, such as interactive games, are multi-threaded for use on multi-processor systems, providing higher performance. In these systems, separate processors and supporting hardware and firmware schedule and execute code in parallel (http://c...