我有一个教程的助推线程程序,我可以编译它没有问题或警告,但是当我运行它时,我没有得到任何输出形式的日食。该计划定期一次。我用日食使用MiNGW,这可能是问题吗?Boost线程终止程序?
有没有人有想法?欢迎所有的提示!
下面是我使用的教程代码,它从this site:
#include <iostream>
#include <boost/thread.hpp>
#include <boost/date_time.hpp>
void workerFunc()
{
boost::posix_time::seconds workTime(10000);
std::cout << "Worker: running" << std::endl;
// Pretend to do something useful...
boost::this_thread::sleep(workTime);
std::cout << "Worker: finished" << std::endl;
}
int main(int argc, char* argv[])
{
std::cout << "main: startup" << std::endl;
boost::thread workerThread(workerFunc);
std::cout << "main: waiting for thread" << std::endl;
workerThread.join();
std::cout << "main: done" << std::endl;
return 0;
}
更新
我已经下MinGW的接头连接的并行线程,程序编译,但结果是一样的。当我把我breakpoiiny略低于主我得到这个:
目标字节顺序自动设置(目前小端) [新主题4168.0xbf8]
而且程序终止没有任何人有想法?
您是否尝试构建可执行文件并在没有eclipse的情况下运行它? – nikitoz
您是否尝试过调试?不要忘记,在Eclipse中的多个线程中可以有多个断点,因此您可以逐步查看主程序以及工作线程。 – Shaz
在visual studio 2010中运行良好。 – IdeaHat