Синхронизация.

Впервые появилась в W32. Синхронизация – это средство, позволяющее реализовать вытесняющую многозадачность, то есть реализовать переключение программ в любой момент времени. Синхронизация может выполняться в пользовательском режиме: критические секции и функции Interlocked.

В режиме ядра для синхронизации используются следующие объекты: события, семафоры, мьютексы.

В Windows 2000 появился новый объект – ожидающий таймер.

Cинхронизация может выполняться с помощью таких объектов ядра, как процессы, потоки, задания, файлы. Оповещение об изменениях файловой системы, CON ввод/вывод. Синхронизация используется для единоличного доступа к ресурсам и для оповещения о каких-либо событиях, например, когда необходима синхронизация – это работа с базой данных. В тот момент когда происходит запись, то другие операции должны быть заблокированы.

Пример, для оповещения событий. Процесс состоит из двух потоков.

Поток 1 считывает данные с файда, поток 2 выводит на экран. Естественно поток 2 ожидает выполнение потока 1.