关于ACE创建线程
来源:互联网 发布:tpshop分销源码 编辑:程序博客网 时间:2024/05/23 19:39
ACE_Thread::spawn_n接口创建n个线程:
if(ACE_Thread::spawn_n(threadID, //id’s for each of the threads
n_threads, //number of threads to spawn
(ACE_THR_FUNC)worker, //entry point for new thread
&arg, //args to worker
THR_JOINABLE | THR_NEW_LWP, //flags
ACE_DEFAULT_THREAD_PRIORITY,
0, 0, threadHandles)==-1)
ACE_Thread::spawn接口创建线程:
if(ACE_Thread::spawn((ACE_THR_FUNC)worker,
(void*)&arg,THR_DETACHED|THR_NEW_LWP)==-1)
ACE线程管理类使用实例:
ACE_Thread_Manager *thr_mgr = ACE_Thread_Manager::instance ();
线程管理类的线程创建:
ACE_Thread_Manager::instance()->spawn_n(num_task_1,
(ACE_THR_FUNC)taskone,//Execute task one
0, //No arguments
THR_NEW_LWP, //New Light Weight Process
ACE_DEFAULT_THREAD_PRIORITY,
1)==-1) //Group ID is 1
ACE_Thread_Manager::instance()->wait_grp(1);
ACE_Thread_Manager *thr_mgr = ACE_Thread_Manager::instance ();
线程管理类的线程创建另一种形式:
int grp_id = thr_mgr->spawn_n (n_threads, ACE_THR_FUNC (worker),
(void *) n_iterations,
THR_NEW_LWP | THR_DETACHED);
挂起线程组1的所有线程;
if (thr_mgr->suspend_grp (grp_id) == -1);
启动线程组1的所有线程;
if (thr_mgr->resume_grp (grp_id) == -1);
取消线程组1的所有线程;
if (thr_mgr->cancel_grp (grp_id) == -1);
worker的函数实现:
static void *
worker (int iterations)
{
for (int i = 0; i < iterations; i++)
{
if ((i % 1000) == 0)
{
ACE_DEBUG ((LM_DEBUG,
"(%t) checking cancellation before iteration %d!\n", i));
//Before doing work check if you have been canceled. If so don’t
//do any more work.
if (ACE_Thread_Manager::instance ()->testcancel
(ACE_Thread::self ()) != 0)
{
ACE_DEBUG ((LM_DEBUG,
"(%t) has been canceled before iteration %d!\n",i));
break;
}
}
}
return 0;
}
- 关于ACE创建线程
- 使用ACE创建线程
- ACE线程学习--线程创建
- 用ace创建一个线程
- ACE中创建线程的方法
- ACE中线程的创建和管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE线程管理机制-线程的创建与管理
- ACE-ACE线程管理机制
- ACE里创建一个任务就创建了一个线程
- zju Back to the Past 4624
- ArcEngine中打开各类数据源(WorkSpace)的连接
- Webservice请求的使用方法
- IP地址/子网掩码解析类(仅支持C类IP)
- Eclipse 中 去掉控制台最大行数限制
- 关于ACE创建线程
- C语言:浮点数在内存中的表示(转)
- 最简单、简易的android音乐播放器,android开发应用之(音乐播放)
- js实现当复选框选中状态时后面的文本框可编辑,当没选中时文本框呈灰色
- 两款不错的时间选择控件
- Arm linux kernel 启动之start_kernel
- 实例浅析javascript变量作用域
- ArcEngine中数据的访问
- eclipse 无法加载 jsp文件