提升线程在stdout上没有显示输出

时间:2014-01-24 23:32:49

标签: c++ multithreading boost

我正在尝试使用boost线程库。下面是一个示例代码。

出于某种原因,我没有看到任何输出。

int main()
{
  myclass Class1;
  while(1) {
  }
}

/************************************/

typedef boost::shared_ptr<boost::thread> thread_ptr;

// class definition

myclass::myclass()
{
    // thread_ptr is of type thread_ptr
    threat_ptr1 = thread_ptr(new boost::thread(&myclass::function_name, this)); 
}
void myclass:function_name()
{
    std::cout << "enter here";
    while( true ) {
        boost::this_thread::sleep(boost::posix_time::seconds(2));
        // do some stuff
    }
}

1 个答案:

答案 0 :(得分:0)

而不是

std::cout << "enter here";

使用

std::cout << "enter here" << std::endl;

法拉盛是你的朋友; - )

作为旁注,在制作中,不应使用while(1){}而不是join()。浪费CPU时间。