接口 EventLoopGroup

所有超级接口:
AutoCloseable, Executor, ExecutorService, IExecutor, IExecutorService, IScheduledExecutorService, Iterable<EventLoop>, ScheduledExecutorService
所有已知子接口:
EventLoop, FixedEventLoopGroup
所有已知实现类:
AbstractEventLoop, AbstractEventLoopGroup, DefaultFixedEventLoopGroup, DisruptorEventLoop

@ThreadSafe public interface EventLoopGroup extends IScheduledExecutorService, Iterable<EventLoop>
事件循环线程组,它管理着一组EventLoop。 它的本质是容器,它主要负责管理持有的EventLoop的生命周期。

时序约定

1.EventLoopGroup代表着一组线程,不对任务的执行时序提供任何保证,用户只能通过工具自行协调。
2.Executor.execute(Runnable)IExecutorService.submit(Callable)系列方法的时序等同于schedule(task, 0, TimeUnit.SECONDS)

Q: 为什么在接口层不提供严格的时序约定?
A: 如果在接口层定义了严格的时序约定,实现类就会受到限制。

1.时序很重要,在提供并发组件时应该详细的说明时序约定,否则用户将无所措手足。
2.EventLoopGroup也可以有自己的线程 - 一种常见的情况是Group是一个监控线程。

作者:
wjybxx date 2023/4/7