スレッドと呼ばれるプログラムの一部を並行して実行できるようにプログラムを設計すれば,先行マルチタスクをさらに有効に活用することができます。たとえば,1 つのスレッドが長い時間のかかる入出力操作を行っている間に,別のスレッドにデータ処理を行わせることができます。アプリケーション内のすべてのスレッドは同じ仮想アドレス空間を共有します。
Windows 9x,Windows Me, Windows XP, Windows 2000 および Windows NT はマルチスレッド化をサポートします。複数のプロセッサーがメモリーを共有する Windows NT または Windows 2000 システムでは,スレッドは並行して動作することができます (対称型マルチプロセッシング)。
マルチスレッド化されたコードは,スレッドが互いに干渉せず,互いのデータを上書きしないように作成しなくてはなりません。これについては,「マルチスレッド・アプリケーションの作成」で説明しています。