У меня есть программа на С++ в Linux (CentOS 5.3), создающая несколько потоков, которые находятся в бесконечном цикле для выполнения задания и сна в течение определенных минут. Теперь мне нужно отменить текущие потоки, если появится новое уведомление о конфигурации и только что начал новый набор потоков, для которых я использовал pthread_cancel. То, что я наблюдал, нити не прекращались даже после получения подтверждения отмены, даже некоторые спальные нити поднимались после того, как сон был завершен.
Поскольку поведение не было желательным, использование pthread_cancel в упомянутом сценарии ставит вопрос о хорошей или плохой практике.
Прокомментируйте использование pthread_cancel в вышеупомянутом сценарии.