我想用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;
}
这个演示应该打印&#34;运行线程..&#34; ,但是当我调试它时,它什么都不打印。这些中文意思是&#34;请按任意键继续&#34;
答案 0 :(得分:1)
你必须在你的主要人员中等待,直到你的工作线程完成。如您所说,您必须在main中返回之前添加以下行。
ACE_Thread_Manager::instance()->wait();