ACE线程管理器无法调用函数

时间:2015-04-10 08:45:23

标签: c++ ace

我想用ACE_thread_manager创建一个线程,调试时没有错误。但结果不对。这个功能不起作用;像这样的代码:

#include "ace/OS.h"
#include "ace/Log_Msg.h"
#include "ace/Thread_Manager.h"
#include <iostream>

void thread_start(void* arg)
{

    std::cout << "Running thread..\n";
}

int main(int argc, char *argv[])
{ 
    ACE_Thread_Manager::instance()->spawn(ACE_THR_FUNC(thread_start), 0, THR_NEW_LWP);      
    return 0;
}

enter image description here 这个演示应该打印&#34;运行线程..&#34; ,但是当我调试它时,它什么都不打印。这些中文意思是&#34;请按任意键继续&#34;

1 个答案:

答案 0 :(得分:1)

你必须在你的主要人员中等待,直到你的工作线程完成。如您所说,您必须在main中返回之前添加以下行。

ACE_Thread_Manager::instance()->wait();