- 所有已知实现类:
EmptyAgent
public interface EventLoopAgent<T>
Agent是EventLoop的内部代理,是EventLoop的内部策略实现,通常不暴露给EventLoop外部
1.Agent将事件循环和用户循环绑定起来 2.这里的方法只应由EventLoop调用,其它地方不应该调用
- 作者:
- wjybxx date 2023/4/10
-
方法概要
修饰符和类型方法说明void在构造EventLoop的过程中将调用该方法注入实例 注意:此时EventLoop可能尚未完全初始化!void收到一个用户自定义事件或任务IAgentEvent.getType()大于0的事件void当事件循环退出时将调用该方法 退出前进行必要的清理,释放系统资源voidonStart()当事件循环启动的时候将调用该方法 注意:该方法抛出任何异常,都将导致事件循环线程终止!voidupdate()当事件循环等待较长时间或处理完一批事件之后都将调用该方法 注意:该方法的调用时机和频率是不确定的,因此用户应该自行控制内部逻辑频率。default voidwakeup()如果当前线程阻塞在中断也无法唤醒的地方,用户需要唤醒线程 该方法是多线程调用的,要小心并发问题
-
方法详细资料
-
inject
在构造EventLoop的过程中将调用该方法注入实例 注意:此时EventLoop可能尚未完全初始化!- 参数:
eventLoop- 绑定的事件循环
-
onStart
当事件循环启动的时候将调用该方法 注意:该方法抛出任何异常,都将导致事件循环线程终止!- 抛出:
Exception
-
onEvent
收到一个用户自定义事件或任务IAgentEvent.getType()大于0的事件- 抛出:
Exception
-
update
当事件循环等待较长时间或处理完一批事件之后都将调用该方法 注意:该方法的调用时机和频率是不确定的,因此用户应该自行控制内部逻辑频率。- 抛出:
Exception
-
wakeup
default void wakeup()如果当前线程阻塞在中断也无法唤醒的地方,用户需要唤醒线程 该方法是多线程调用的,要小心并发问题 -
onShutdown
当事件循环退出时将调用该方法 退出前进行必要的清理,释放系统资源- 抛出:
Exception
-