т є і в ядрі Linux під назвою kwait_queue.
. Критичні секції забезпечують синхронізацію подібно м'ютексів за винятком того, що об'єкти, що представляють критичні секції, доступні в межах одного процесу. Події, м'ютекси і семафори також можна використовувати в однопроцессной додатку, однак реалізації критичних секцій в деяких ОС (наприклад, Windows NT) забезпечують більш швидкий і більш ефективний механізм взаємно-виключає синхронізації - операції В«отриматиВ» і В«звільнитиВ» на критичній секції оптимізовані для випадку єдиного потоку (відсутності конкуренції) з метою уникнути будь-яких провідних в ядро ​​ОС системних викликів. Подібно м'ютексів об'єкт, що представляє критичну секцію, може використовуватися тільки одним потоком в даний момент часу, що робить їх вкрай корисними при розмежуванні доступу до загальних ресурсів.
. Умовні змінні (condvars). Схожі з подіями, але не є об'єктами, які займають пам'ять - використовується тільки адресу змінної, поняття В«вміст змінноїВ» не існує, в якості умовної змінної може використовуватися адресу довільного об'єкта. На відміну від подій, установка умовної змінної в просигналізувало стан не тягне за собою ніяких наслідків у разі, якщо на даний момент немає потоків, які очікують на змінної. Установка події в аналогічному випадку тягне за собою запам'ятовування стану В«просигналізувавВ» всередині самої події, після чого наступні потоки, бажаючі очікувати події, продовжують виконання негайно без зупинки. Для повноцінного використання такого об'єкта необхідна також операція В«звільнити mutex і чекати умовну змінну атомарнеВ». Активно використовуються в UNIX-подібних ОС. Дискусії про переваги та недоліки подій і умовних змінних є помітною частиною дискусій про переваги та недоліки Windows і UNIX.
. Порт завершення вводу-виводу (IO completion port, IOCP). Реалізований в ядрі ОС і доступний через системні виклики об'єкт В«чергуВ» з операціями В«помістити структуру в хвіст чергиВ» і В«взяти таку структуру з голови чергиВ» - останній виклик зупиняє виконання потоку в разі, якщо черга порожня, і до тих пір, поки інший потік не здійснить виклик В«поміститиВ». Найважливішою особливістю IOCP є те, що структури в нього можуть поміщатися не тільки явним системним викликом з режиму користувача, але і неявно всередині ядра ОС як результат завершення асинхронної операції вводу-виводу на одному з дескрипторів файлів. Для досягнення такого ефекту необхідно використовувати системний виклик В«зв'язати дескриптор файлу з IOCPВ». У цьому випадку вміщена в чергу структура містить в собі код помилки операції введення-виведення, а також, для випадку успіху цієї операції - число реально введених або виведених байт. Реалізація порту завершення також обмежує число потоків, що виконуються на одному процесорі/...