Передайте std::atomic<bool>& terminate_flag
во все запущенные темы. Когда один процесс найдет искомое значение, обновите terminate_flag
. Все потоки должны работать бесконечно l oop? Измените l oop, чтобы выйти, когда для terminate_flag
установлено значение true
.
void thread_function(std::atomic<bool>& terminate_flag, T& search_value, ...)
{
while(terminate_flag == false)
{
...do stuff...
if (found_value == search_value)
{
terminate_flag = true;
}
}
}