Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2014, 21:14   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Почему не захватывается мьютекс?

Код:
while (true)
	{
		Test();
	}
Код:
void Test()
{
	HANDLE hM = CreateMutex(NULL, true, L"testMutex");
	
	if (!hM)
		throw L"Failed to create mutex";
	WaitForSingleObject(hM, INFINITE);

	Sleep(1000);
}
Почему не останавливается ждать освобождения мьютекса на второй итерации цикла?
TwiX вне форума Ответить с цитированием
Старый 01.01.2014, 22:28   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Потому что ваш поток им уже владеет. Мьютекс в Windows reentrant.
waleri вне форума Ответить с цитированием
Старый 02.01.2014, 03:10   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Спасибо! .
Правда форум не позволил репу поднять, хотя на форуме уже 4 месяца не появлялся)
TwiX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
А почему бы? ZuBy О форуме и сайтах клуба 6 16.09.2013 19:00
Внутрибиблиотечный мьютекс или флаг. Alex Cones Общие вопросы Delphi 5 02.02.2011 21:24
Объекты ожидания в Delphi. Мьютекс, Семафор и Критические секции. OlgaZN Помощь студентам 2 11.06.2010 12:01
Почему? Sota О форуме и сайтах клуба 4 26.07.2007 16:26