我试图从另一个线程中断我的主线程。当我使用Boost时,我只需执行myThread.interrupt();
但现在我想从我创建的boost::thread
中断主线程(正在休眠)。
我到this但是{C} 2013中不存在std::this_thread
。另一种方法是我可以获得对主线程的引用,以便稍后我可以使用yield()
还是interrupt()
?
答案 0 :(得分:0)
我最终创建了一个新的boost::thread
,我的主程序在其中运行:
boost::thread mainThread;
void mainFunction(std::string portNumber){
}
int _tmain(int argc, _TCHAR* argv[]) {
mainThread = boost::thread(mainFunction, argv[1]);
mainThread.join();
}
所以我可以随时用mainThread.interrupt()