Работаю с ком портом. Функция для общения по ком порту закрыта мьютексом, так как она может вызываться из нескольких потоков.
Через некоторое время работы программы около 7-10 часов, перестает работать общение по ком порту.
Бывает ситуация что я могу аварийно завершать работу одного потока, который работает с ком портом. И как я предпологаю если мы захватили мьютекс в и это время завершился поток, то он остается захваченным и не отпускается.
Когда другие потоки захотят юзать ком порт, то они залочатся в этом мьютексе навсегда.
Как мне правильно решить эту проблему?
Могу ли я при завершении потока проверить состояние мьютекса?
И можно ли в VS 2017 как то просмотреть потоки, кто сколько памяти отжирает и состояния мьютексов
Правильно было бы работать с блокировкой кооперативно, а не отстреливать потоки. Как ты их убиваешь?
Обсуждают сегодня