我在一个函数中创建一个线程,在另一个函数中,我想停止这个线程.
我试过这样的:
我试过这样的:
class Server { private: boost::thread* mPtrThread; ... public: void createNewThread() { boost::thread t(...); mPtrThread = &t; } void stopThread() { mPtrThread->interrupt(); } }
但这不是工作.我如何能阻止线程?
解决方法
如果要使用interrupt(),应该定义
interruption points.一旦达到中断点之一,调用interrupt()就会中断线程.