并发编程 | Netty - [FutureListener]

@

§1 FutureListener 机制

Netty 的接口调用是 异步

关于 Netty 的异步,笔者认为其实是有异议的,详情参考 并发编程 | Netty - [taskQueue & scheduledTaskQueue]

FutureListener 机制

  • 调用方不会直接获得结果,但也不会阻塞,而是立即返回一个 ChannelFuture
  • 可以在 ChannelFuture 上通过 addListener() 添加监听器
  • 添加的监听器会在 ChannelFuture 完成后触发 (isDone()==true)
  • 通过 FutureListener 可以将操作转为异步调用,并根据不同结果进行回调处理

§2 常用方法

是否完成
isDone()

是否成功
isSuccess()

是否取消
isCancelled()

获取异常
getCouse()

注册监听器
addListener()
相当于增加回调
增加的监听器会在完成后被触发

§3 示例

f 即 ChannelFuture,可以

future.addListener(f->{
    if(future.isSuccess()) 
        // do sth.
	else
		// do sth.
});
posted @ 2025-05-20 14:59  问仙长何方蓬莱  阅读(12)  评论(0)    收藏  举报