Как внутренне работает CreateMutex ()? - PullRequest
0 голосов
/ 20 января 2010

По сути, он используется для создания экземпляра приложения singleton.

Я хочу знать, как это работает внутри и как ОС управляет этим?

Ответы [ 3 ]

1 голос
/ 20 января 2010

Эта статья MSDN содержит некоторую информацию о базовых деталях мьютексов. В общем случае мьютекс, созданный с помощью функции Windows CreateMutex, является объектом, принадлежащим ядру, что означает, что приложение уровня пользователя должно перейти из режима пользователя в режим ядра, чтобы получить право собственности на мьютекс.

1 голос
/ 20 января 2010

Это дает несколько советов о внутренних органах

http://msdn.microsoft.com/en-us/library/ms684266%28VS.85%29.aspx

Если вас интересуют алгоритмы, википедия - хорошая отправная точка. Если вы заинтересованы в реализации, исходный код google linux semaphore.c

1 голос
/ 20 января 2010

Создает общесистемный объект. То, как ОС управляет этим, является скрытой деталью реализации, вы можете использовать мьютекс только через предоставляемые ОС функции (например, ReleaseMutex()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...