Мне нужно вызвать библиотечную функцию, которая, к сожалению, иногда не прерывается в течение определенного времени. Есть ли способ вызвать функцию, но прервать ее, если она не заканчивается в течение n
секунд?
Я не могу изменить функцию, поэтому я не могу напрямую установить в нее условие прерывания. Я должен добавить тайм-аут к функции извне.
Возможно, это возможное решение начать его как поток (boost), который я могу завершить после определенного времени? Будет что-то подобное? Я действительно считаю, что функция не является потокобезопасной, но это не имеет значения, если я запустил ее как единственный поток, верно? Существуют ли другие (лучшие) решения?