Повышение потоков завершает программу?

0

У меня есть программа повышения потока из учебника, я могу скомпилировать ее без каких-либо проблем или предупреждений, но когда я ее запустил, я не получаю никакой выходной формы 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]

И программа заканчивается, у кого-нибудь есть идея?

  • 0
    Вы пытались собрать исполняемый файл и запустить его без затмения?
  • 0
    Вы пробовали отладку? Не забывайте, что вы можете иметь несколько точек останова в нескольких потоках в Eclipse, чтобы вы могли видеть, что делает ваш шаг за шагом, а также рабочий поток.
Показать ещё 1 комментарий
Теги:
multithreading
boost

1 ответ

0
Лучший ответ

Вам нужно убедиться, что вы связываетесь как с библиотеками boost_thread, так и с pthread.

  • 0
    Спасибо всем за ваши комментарии! Может кто-нибудь сказать мне, как связать -pthread с Mingw (и Eclipse). У mingw есть pthread?
  • 0
    щелкните правой кнопкой мыши по вашему проекту, выберите «Свойства». Когда откроется это окно, выберите «C / C ++ Build-> Settings». В GCC C ++ Linker выберите «LIbraries», а затем добавьте нужные библиотеки.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню