Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Заблокирован
1

Как правильно завершить поток, который лочит мьютекс в цикле?

21.05.2013, 12:30. Показов 1126. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть поток, созданный посредствам CreateThread, который в цикле лочит именной мьютекс, ну типа while(1) { OpenMutex(MUTEX_ALL_ACCESS, FALSE, "SUPER_NAME"); ..... ReleaseMutex} .....
Если Я из другого потока вызову напрямую функцию TerminateThread, то может случится, что поток убъётся, а мьютекс не разлочится.... Как этого избежать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2013, 12:30
Ответы с готовыми решениями:

Вызов диалога с ожиданием реакции - мьютекс лочит UI поток
Необходимо решить классическую задачу - вызвать диалог, дождаться действия пользователя и на их...

Как правильно завершить поток
Всем привет. Что я делаю не так ? Поток запускается и работает хорошо, но вот при завершении...

Как правильно завершить поток сервера?
{ Listener = new TcpListener(Settings.ip, Settings.port); // Создаем "слушателя" для...

Как правильно завершить поток FileStream
Здравствуйте. В процессе работы программы FileStream должен работать постоянно, так как получает...

1
38 / 33 / 6
Регистрация: 17.09.2012
Сообщений: 66
21.05.2013, 12:50 2
Правильно не убивать поток таким образом.
http://msdn.microsoft.com/en-u... 85%29.aspx
If a thread terminates without releasing its ownership of a mutex object, the mutex object is considered to be abandoned. A waiting thread can acquire ownership of an abandoned mutex object, but the wait function will return WAIT_ABANDONED to indicate that the mutex object is abandoned. An abandoned mutex object indicates that an error has occurred and that any shared resource being protected by the mutex object is in an undefined state. If the thread proceeds as though the mutex object had not been abandoned, it is no longer considered abandoned after the thread releases its ownership. This restores normal behavior if a handle to the mutex object is subsequently specified in a wait function.
1
21.05.2013, 12:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2013, 12:50
Помогаю со студенческими работами здесь

Как правильно завершить поток без исключения ThreadInterruptedException?
В общем, есть отдельный проект dll-ки с компонентом, наследующим MonthCalendar. В нем дополнительно...

Как правильно завершить поток QThread и выйти из него?
Здравствуйте, форумчане! Есть GUI-приложение, кнопка в окне приложения запускает цикл обмена...

Как правильно завершить поток (программа часы в Label)
Здравствуйте, есть простая многопоточная программа - на форме в Label отображается время (программа...

Правильно завершить поток
Здравствуйте!!! Делаю программу через поток. Вот код #include <vcl.h> #pragma hdrstop ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru