Visual C++ 6 Unleashed

Visual C++ 6 Unleashed

By MICKEY WILLIAMS and David Bennett

The CWinThread Class

One of the major differences between Windows 3.1 and the 32-bit versions of Windows, such as Windows 98 and Windows 2000 is the use of preemptive multitasking. Although Windows 3.1 supports multiple tasks, only one task could be running at one time, and nobody else could run without the running task giving up the processor. Win32 supports true multitasking through the use of threads, which allow more than one thing to be going on at the same time. True, most processors really execute only one instruction stream at a time, but as far as this chapter is concerned, all threads run at the same time.

When your application first starts, it has one—and only one—thread, known as the primary thread. This thread is encapsulated by the CWinApp class that you have derived. This means that a pointer to your CWinApp object is also a pointer to the CWinThread object for the primary thread. Once your application gets going, it can create as many new threads as it wants to manage various tasks.

You learn more about working with threads in Chapter 16, "Multithreading," but for now let's move on to the base class of CWinThread , CCmdTarget .

Share ThisShare This

Informit Network