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