У Windows 3.1 – спільна (cooperative) багатозадачність. довільний Windows– продукт повинен був час від часу відмічати в черзі повідомлень (message queue) для того щоб ОС могла передати керування іншому продукту. Продукти, які не відмічаються в черзі повідомлень досить часто, монополізували весь процесорний час і фактично припиняли виконання інших задач.
У Windows 98 при роботі 32–розрядних продуктів використовується механізм незалежної багатозадачності. ОС сама визначає час, який відводиться кожному з працюючих продуктів та після його закінчення передає керування іншій задачі. Таким чином, 32–розрядні продукти більше не повинні віддавати керування – тепер сама ОС відбирає його в потрібний час.
Але 16–розрядні продукти для сумісності продовжують працювати в режимі cooperative.
Preemptive окрім всього пропонує також multithreading – багатопотоковий механізм, який полегшує розробку складних продуктів з паралельною функціональністю.
Запущений 32–розрядний продукт – це процес. Довільний процес складається, як мінімум, з одного ланцюжка виконання, тобто послідовності кодів, які виконуються один за одним. Саме такі ланцюжки і складають елементарну задачу з точки зору ОС і отримують від неї певні кванти часу.
Але 32–розрядний продукт може складатись і з декількох ланцюжків коду, що виконують різні задачі в рамках одного процесу.
Наприклад: текстовий редактор може використовувати один ланцюжок коду для вводу символів з клавіатури, другий – для перевірки орфографії і третій – для одночасного друку документа.
Такий розподіл дозволяє покращити ввід команд, забезпечити обробку даних у фоновому режимі.
Windows 98 підтримує багатотоковість рівні ОС.
Продукти, що реалізують багатотоковий механізм, можуть ефективно використовувати декілька процесорів у багатопроцесорній системі (наприклад Windows NT), шляхом запуску потоку із ланцюжків коду на своєму процесорі.