ACE线程管理机制-并发控制(4)
来源:互联网 发布:淘宝点击率公式 编辑:程序博客网 时间:2024/05/18 07:53
ACE线程管理机制-并发控制(4)
ACE Synchronization类
这一类并发控制对象一般也叫做杂项并发类,这类对象一般用得不多,这里我只是对其作一些简单的介绍。
1.Atomic_Op类
ACE_Atomic_Op类用于将同步透明地参数化进基本的算术运算中。
ACE_Atomic_Op是一种模板类,锁定机制和需要参数化的类型被作为参数传入其中,重载所有算术操作符,并确保在操作前获取锁,在操作后释放它。运算本身被委托给通过模板传入的的类。
使用ACE_Atomic_Op进行变量封装时,对于那些用ACE_Atomic_Op封装了的变量操作都变成了线程安全的,而并看不到显式的加解锁代码,代码变得更简洁,优雅。
2.ACE中的栅栏(Barrier)
一组线程可以使用栅栏来进行共同的相互同步。组中的每个线程各自执行,直到到达栅栏,就阻塞在那里。在所有相关线程到达栅栏后,它们就全部继续它们的执行。就是说,它们一个接一个地阻塞,等待其他的线程到达栅栏;一旦所有线程都到达了它们的执行路径中的"栅栏点",它们就一起重新启动。
在ACE中,栅栏在ACE_Barrier类中实现。在栅栏对象被实例化时,它将要等待的线程的数目会作为参数传入。一旦到达执行路径中的"栅栏点",每个线程都在栅栏对象上发出wait()调用。它们在这里阻塞,直到其他线程到达它们各自的"栅栏点",然后再一起继续执行。当栅栏从相关线程那里接收了适当数目的wait()调用时,它就同时唤醒所有阻塞的线程。
举个简单的例子,运动员进行赛跑比赛时,虽然他们到达终点有先后顺序,但会等到所有的运动员跑完比赛后才一起领奖。
- ACE线程管理机制-并发控制(4)
- ACE线程管理机制-并发控制(4)
- ACE线程管理机制-并发控制(4)
- ACE线程管理机制-并发控制(4)
- ACE线程管理机制-并发控制(4)
- ACE线程管理机制-并发控制
- ACE线程管理机制-并发控制
- ACE线程管理机制-并发控制(1)
- ACE线程管理机制-并发控制(1)
- ACE线程管理机制-并发控制(2)
- ACE线程管理机制-并发控制(3)
- ACE线程管理机制-并发控制(1)
- ACE线程管理机制-并发控制(2)
- ACE线程管理机制-并发控制(3)
- ACE线程管理机制-并发控制(1)
- ACE线程管理机制-并发控制(1)
- ACE线程管理机制-并发控制(2)
- ACE线程管理机制-并发控制(3)
- jquery 不同浏览器判断颜色值的方法
- 自己动手编译OpenJDK 7(转载)
- 对象****中的结构体
- VML实现web topo原型 (2)-基本元素
- ACE线程管理机制-并发控制(3)
- ACE线程管理机制-并发控制(4)
- Cache学习笔记
- ACE线程管理机制-面向对象的线程类ACE_Task
- 交互设计:是“授之以渔”还是“授之以鱼”?----寻求自动与自由的契合(3)
- 让你的SQL运行速度明显提高
- LINUX CVS添加用户shell
- ACE中TCP通信
- Windows环境下Sybase12.5 图文安装教程
- 用C#调用Windows API和其它进程通信及C# 获得另外一程序 句柄 后控制该程序 控制其透明 窗体大小