程序包的使用
cn.wjybxx.concurrent
使用cn.wjybxx.concurrent的程序包
-
类说明默认的实现仅仅是简单的将任务分配给某个
EventLoop执行future的聚合选项该异常可以传递取消码该接口用于特殊需求时减少闭包取消令牌源由任务的创建者(发起者)持有,具备取消权限。默认上下文实现基于Disruptor框架的事件循环。事件循环 它是单线程的,它保证任务不会并发执行,且任务的执行顺序和提交顺序一致。Agent是EventLoop的内部代理,是EventLoop的内部策略实现,通常不暴露给EventLoop外部事件循环选择器,用于负载均衡和确定选择。事件循环线程组,它管理着一组EventLoop。事件循环的模块 1.该接口为标记接口,具体的行为由子接口决定。EventLoop的状态 -- UniExecutor也使用该枚举。提供转发功能的基类 由于Future中存在取消接口,因此该类还不是Readonly的。在调用选择方法之前,你可以添加任意的IFuture以进行监听。该handler只应该输出日志EventLoopAgent接收的事件类型取消令牌取消令牌源由任务的创建者(发起者)持有,具备取消权限。线程控制异步任务的上下文 在异步和并发编程中,共享上下文是很必要的,且显式的共享优于隐式的共享。命名:我们使用清晰的命名后缀,以免使用lambda时的语义不清。1.Future是任务和用户之间通信的媒介。FutureTask是Executor压入的可获取结果的任务类型 1.该接口暴露给Executor的扩展类,不是用户使用的类。注册监听器产生的句柄。不继承ScheduledExecutorService,JDK的ScheduledFuture设计有问题。定时任务关联的Future。可获取结果的延时任务定时任务关联的PromiseTask是Executor中调度的任务抽象。在调用选择方法之前,你可以添加任意的CompletableFuture以进行监听。满足最小需要的Context实现。声明IFuture接口加快instanceof测试ps:该类的数据是(部分)开放的,以支持不同的扩展。当提交的任务被拒绝时的处理策略,修改自JDK的或者说Netty的拒绝策略。被缓存的事件对象 1.用于Disruptor或类似的系统,当我们缓存对象时,更适合将字段展开以提高内存利用率 2.这只是个简单的数据传输对象,getter/setter什么的不必要 3.实现Runnable以支持直接提交到Executor4.支持EventLoopAgent的都将支持该事件。定时任务的Task抽象 这个实现有较多特殊逻辑,不适合对外该对象为临时对象,应避免共享单线程的Executor不打印堆栈的取消异常任务构建器该异常表示FutureCombiner监听的任务数不足以到达成功条件JDK设定的任务状态Future.State并未将【等待中】和【执行中】这两种状态分开, 大多数情况下这种设定并没有影响,但在涉及取消时,将等待中和执行中分开是有利的。可分时运行的任务 - 需要长时间运行才能得出结果的任务。Watcher管理器实现时要小心线程安全问题 -
类说明该接口用于特殊需求时减少闭包取消令牌取消令牌源由任务的创建者(发起者)持有,具备取消权限。线程控制异步任务的上下文 在异步和并发编程中,共享上下文是很必要的,且显式的共享优于隐式的共享。命名:我们使用清晰的命名后缀,以免使用lambda时的语义不清。1.Future是任务和用户之间通信的媒介。FutureTask是Executor压入的可获取结果的任务类型 1.该接口暴露给Executor的扩展类,不是用户使用的类。注册监听器产生的句柄。不继承
ScheduledExecutorService,JDK的ScheduledFuture设计有问题。定时任务关联的Future。可获取结果的延时任务定时任务关联的PromiseTask是Executor中调度的任务抽象。ps:该类的数据是(部分)开放的,以支持不同的扩展。该对象为临时对象,应避免共享任务构建器JDK设定的任务状态Future.State并未将【等待中】和【执行中】这两种状态分开, 大多数情况下这种设定并没有影响,但在涉及取消时,将等待中和执行中分开是有利的。