У меня есть программа повышения потока из учебника, я могу скомпилировать ее без каких-либо проблем или предупреждений, но когда я ее запустил, я не получаю никакой выходной формы eclipse. Программа заканчивается один раз. Я использую MiNGW с моим затмением, может это проблема?
У кого-нибудь есть идея? Все предложения приветствуются!
Ниже приведен код учебника, который я использовал, его с этого сайта:
#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;
}
Обновить
Я связал pthreads под mingw linker, и программа компилируется, но результат тот же. Когда я ставлю я breakpoiiny чуть ниже основного, я получаю следующее:
Конечная цель задана автоматически (в настоящее время малоконечная) [Новая тема 4168.0xbf8]
И программа заканчивается, у кого-нибудь есть идея?
Вам нужно убедиться, что вы связываетесь как с библиотеками boost_thread, так и с pthread.