Как проверить, работает ли std::thread
(независимо от платформы)?
Он не имеет метода timed_join()
и joinable()
для этого не предназначен.
Я думал о блокировке мьютекса с std::lock_guard
в потоке и с помощью метода try_lock()
мьютекса, чтобы определить, все ли он заблокирован (поток работает), но мне кажется излишне сложным.
Знаете ли вы более элегантный метод?
Обновление: Чтобы быть ясным: я хочу проверить, прошел ли поток с чистотой или нет. Для этой цели считается "висячей" нитью.