我希望只允许一个函数的一个线程。这是一个解决方案:
boost::thread thr_check_task;
thr_check_task.interrupt();
thr_check_task = boost::thread(check_task);
在此示例中,该函数将在重新启动之前始终中断。我遇到的问题是我的CPU上没有线程,所以我不得不将它们分开:
boost::thread thr (check_task);
thr.detach();
是否有另一种方法只强制函数的一个实例使用正在使用的函数的全局变量?谢谢。