【发布时间】:2011-12-21 13:35:52
【问题描述】:
在我的程序中,我有一个创建 boost::thread 的静态对象。线程应该一直运行到程序终止,但它不应该以随机状态终止,所以我在这个静态对象的析构函数中实现了受控线程终止。问题是当 main() 终止时,我的线程在调用析构函数之前就终止了。
现在的问题是:是否可以防止线程被销毁?或者至少延迟它,以便在调用析构函数之后发生?
【问题讨论】:
-
在进入
main之前启动线程有点危险,你不能移动这个对象/改变你的设计吗? -
线程是在输入
main之后创建的。静态对象不是全局的;它在类(单例)的静态 get() 方法中。
标签: c++ windows multithreading process boost-thread