Объект синхронизации может быть любым, это не важно. Как то раз я искал критическую секцию в Линуксе и не нашёл.
Для совместимости с исходниками Виндус я сделал обьект
"критическая секция" на семафоре.
Главное - это оболочка вокруг объекта синхронизации
используемая, как локальный объект. И это именно
архитектурные решение, поэтому с этого как раз и надо
начинать.