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

ACE thread manager can not invoke function

我想用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;
}

这个演示应该打印 "Running thread.." ,但是当我调试它时,它什么也没打印。这些中文意思是"Please press any key to continue" .

您必须在主线程中等待,直到您的工作线程完成。正如您所说,您必须在 main.

中的 return 之前添加以下行
ACE_Thread_Manager::instance()->wait();