Можно так?
Логика - запускаю thread.detach(), который либо после проверок сразу завершается, если проверки пройдены встает на ожидание внешнего события (слушает на сокете порт), как только событие наступает делает некоторые действия и завершается - так вот из основного потока хотелось бы знать выполняется ли еще этот поток, если нет, то получить из него значение БЕЗ блокировки основного потока?
Показалось future с его async() подойдет, но оказалось valid() проверяет всего лишь был ли async() и не делали ли еще get(), а не отсутствие результата для get(), следовательно если поток не завершился get() блокирует основной поток.
Не то чтобы мутексы проблема использовать, но может проще можно как то для одного единственного простого значения состояния?