Single or Multithread Program Execution

You can take further advantage of preemptive multitasking by designing your program so that portions of it, called threads, can be executed in parallel. For example, one thread can perform a lengthy input/output operation while another thread processes data. All of the threads in your application share the same virtual address space.

Windows 9x, Windows 2000, and Windows NT 4 operating systems support multithreading. On a Windows NT 4 or Windows 2000 system with multiple processors sharing memory, threads can execute in parallel (symmetric multiprocessing).

Multithreaded code must be written so that the threads do not interfere with each other and overwrite each other's data, as described in Creating Multithread Applications.