Zthreads学习笔记(三).Cancelable 类参考

来源:互联网 发布:阿里云公共cdn 编辑:程序博客网 时间:2024/06/01 10:46
 

Cancelable 类参考

#include <Cancelable.h>

类继承关系图 Cancelable:

ExecutorQueueThreadConcurrentExecutorPoolExecutorSynchronousExecutorThreadedExecutorBlockingQueueBoundedQueueLockedQueueMonitoredQueue所有成员列表.

公有成员函数

virtual ~Cancelable ()
 销毁一个 Cancelable 对象.
virtual void cancel ()=0
virtual bool isCanceled ()=0

细节描述

作者:
Eric Crahen <http://www.code-foo.com>
日期:
<2003-07-16T09:28:46-0400>
版本:
2.3.0
Cancelable 接口定义了一个添加一般的 disable-and-exit 语义到某个对象的通用的方法. 通过 cancel()ing 一个 Cancelable 对象, 发送一个请求禁止那个对象.

Disabling

一个 cancel()ed 对象不必立即终止它的工作. 通常,一个 cancel()ed 对象,完成处理分配给它的任务, 但是它不会再接受新的任务,这样是更优雅的做法.

Exiting

一个 cancel()ed 对象应该尽快完成他的任务. Canceling 不仅仅是请求停止接受新任务, 并且完成现有的任务. 它还请求尽可能快的完成处理当前的任务.


成员函数文档

virtual void cancel  ) [pure virtual]
 

Canceling 一个 Cancelable 对象发送一个请求去 disable 那个对象. 这会使对象拒绝接受新任务, 并且尽快完成现有的任务.

如果Canceling 一个对象不止一次,没有效果.

后置条件:
Cancelable 对象转换到disabled状态是永久的转换; 它会一直拒绝接受新的任务.

BlockingQueue, BoundedQueue, ConcurrentExecutor, LockedQueue, MonitoredQueue, PoolExecutor, Queue, SynchronousExecutor, Thread, 和 ThreadedExecutor中被实现.

virtual bool isCanceled  ) [pure virtual]
 

检测一个 Cancelable 对象是否被 canceled.

返回:
  • true 如果cancel() 函数之前被调用了.
  • false 其他情况.

BlockingQueue, BoundedQueue, ConcurrentExecutor, LockedQueue, MonitoredQueue, PoolExecutor, SynchronousExecutor, Thread, 和 ThreadedExecutor中被实现.


这个类的文档从下面的文件产生:
  • Cancelable.h