netty的ChannelPromise类学习

本文介绍了Netty中的ChannelPromise类,它是Future的扩展,专用于处理Netty的异步操作。文章通过对比JUC的Future,阐述了ChannelFuture和Promise在Netty中的角色和应用场景,特别是它们如何协助进行异步结果的监听和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Future(JUC )

​ Future是java 1.5引入的一个interface,可以方便的用于异步结果的获取,它代表异步调用的结果,使用它我们可以在进行异步调用后 去做其他的事情。

​ 应用场景:1. 耗时的操作,2. 远程方法调用。

方法 描述
isDone() 判断异步请求是否完成
get() 获取异步结果
get(long timeout, TimeUnit unit) 获取异步结果 如果没有完成一直阻塞,同时也提供了设置超时时间的等待
cancel(boolean mayInterruptIfRunning) 异步请求取消 传入一个boolean参数,来选择是否中断正在运行的task
isCancelled() 查看请求是否取消
@Test
public void testFuture() throws Exception{
   
    ExecutorService executors = new ThreadPoolExecutor(1,1,
                  100,TimeUnit.MILLISECONDS,
                  new SynchronousQueue());
    //获取异步结果
    Future<Integer> future = executors.submit(new CalculateTask(10)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值