ACE的线程管理 ACE_Thread_Manager
其中常用的方法有:
spawn() :创建一个线程
spawn_n() : 创建一组线程
wait():阻塞, 直到线程管理器中的所有线程都已经退出
join():等待某一线程退出,并获得其退出状态
exit():退出一个线程,并释放该线程资源
{
ACE_Thread_Manager::instance->spawn_n(4, (ACE_THR_FUNC)print, 0, THR_JOINABLE|THR_NEW_LWP);
ACE_Thread_Manager::instance->wait();
return 0;
}
备注:spawn_n()参数说明, 4为创建线程的数量, print为线程处理函数,即线程进入点函数。 后面的0是固定参数。
但需要注意的一点是,线程的进入点函数必须是静态的或者是全局的
线程的基本操作:创建、终止等
一、线程入口函数(即线程进入点函数)
void *worker(void *arg)
{
}
该函数有一个void *的参数,可以在创建线程的时候传入进线程,如上面所说,该函数必须是静态的或者全局的。
二、线程的创建
一个进程的主线程是由系统自动生成,如要生成额外的线程,可以使用ACE_Thread::spawn(),或者
ACE_Thread::spawn_n()。
具体使用方法如下: