zthread学习 实例十二 ZThread库基本结构的规纳

 

1、四大基类

 


Cancelable

Cancelable提供了通用的方法来定义语义,调用了cancel()的Cancelable对象,将被置为disable。调用过cancel()ed的对象不必立即中止工作。通常被cancel()ed的对象尽可能快的继续执行完当前分配给它的工作,然后再变得不可用;但它不能接受任何新分配给它的工作。

cancel()函数:使一个Cancelable对象变为disable状态。拒绝接受新任务,尽可能快的完成当前任务;对一个Cancelable对象多于一次的cancel()操作都是无效的。isCanceled():查询Cancelable对象是否已经是canceled的状态。

 

 

 

Waitable

Waitable提供了通用的方法来定义语义,一个对象可以通过Waitable的接口来测试其内部状态。其他对象可以wait()一个Waitable对象。在这种情况下,如果调用线程的condition为false将会阻塞此线程。举例,Condition是一个Waitable对象,因此它的wait()是意思是阻塞线程直到有外部激励来改变Condition的内部状态为true。还有Barrier、Executor等。

 

 

 

 

Lockable

Lockable添加了通用方法acquire()、release(),它不一定是互斥访问的。

 

 

 

 

NonCopyable

一些对象是不能被拷贝的。特别是一些互斥访问的东西,例如,事件对象,队列,信号量等等

 

 


 

 

 

2、Mutex种类

 

Mutex

 

[定义]:Mutex对象用于串行的访问临界区,通过acquire()进入临界区,release()离开临界区。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值