Вызов функции автоматически при выходе из std :: thread в C ++ 11

Я хочу настроить вызов функции (или лямбда-функции) так, чтобы она происходила автоматически при выходе из текущего потока, но я не вижу способа сделать это, который работает сstd::thread если я не возьму на себя всю задачу создания потока или вручную не гарантирую, что каждый поток вызовет какую-то конкретную функцию, которую я всегда предоставляю как свою последнюю операцию

По сути, я хочу функцию, чей прототип может выглядеть примерно так:

on_thread_exit(const std::function<void()> &func);

Который выполнил бы любую настройку, необходимую для обеспечения того, чтобы данная функция автоматически вызывалась, когда поток, вызвавший on_thread_exit, в конечном итоге завершается, и не требуя каких-либо конкретных функций, вызываемых явно при создании или завершении потока.

Ответы на вопрос(3)

Ваш ответ на вопрос