Убить поток C++ 11
От: dosik Россия www.dosik.ru
Дата: 06.04.16 14:16
Оценка:
Так уж получилось, что поставили мне библиотечку, которая работает только в блокирующем режиме, что то типа
resulttype result = waitsomуevent(params ...);

и ни как иначе, ни таймаутов, ни мултиплексора, ни чего другого. Пока с этим надо как-то жить.
Раздал я каждому такому "событию" по зацикленному потоку, фьючерсами забираю результат (там хоть таймауты на ожидание есть).
Но вот когда необходимо завершить программу, возникает проблема с блокировкой при присоединения потока:
if (somethread.joinable())
    somethread.join()   // <--- Вот тут блокирует

чего в общем то и следовало ожидать. По симу единственным решением вижу уничтожение потока грубой силой. Но вот что-то не могу найти как, хотя где-то помниться читал, что вроде как возможно.
И дополню: сгенерит событие самому, заменить библиотеку нельзя. Такое ТЗ.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.