Используя MS VC ++ и поток Boost, у меня есть подпрограмма - фактически процедура Windows - в главном потоке, которая вызывается много раз. При каждом вызове подпрограмма создает новый поток - я планирую создать объект потока в постоянном пространстве с помощью new и прикрепить результат к глобальному -static-pointer-. Требуется прекратить предыдущее условие, если при следующем вызове процедуры предыдущий поток все еще работает.
Я прочитал: «Так же как время жизни файла может отличаться от времени жизни объекта iostream, который представляет файл, время жизни потока выполнения может отличаться от объекта потока, который представляет поток В частности, после вызова join () поток выполнения больше не будет существовать, даже если объект потока продолжает существовать до конца своего обычного времени жизни. Возможно и обратное, если объект потока уничтожается без Функция join (), вызванная в первый раз, продолжает выполнение потока до тех пор, пока его начальная функция не завершится ".
Перед тем, как заново изобрести колесо, возникает вопрос: существует ли стандартный метод определения, работает ли нить? В таком случае: каков канонический метод его прекращения?
Заранее спасибо.