通过 netty 实现异步任务回调获取执行结果
生活随笔
收集整理的這篇文章主要介紹了
通过 netty 实现异步任务回调获取执行结果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目前java 8 之前的異步并發編程的API(callable、future、futuretask),都有一個共同的問題,就是要獲取結果必須阻塞等待。netty提供了一種通過回調的方式獲得結果的辦法:
Future<TGroup> future = businessEG.submit(new Callable<TGroup>() {@Overridepublic TGroup call() throws Exception {//從數據庫查詢TGroup group = groupService.getDBTGroupById(gid);targetGroupsHM.put(gid, group);return group;}});future.addListener(new GenericFutureListener<Future<? super TGroup>>() {@Overridepublic void operationComplete(Future<? super TGroup> future) throws Exception {//處理返回的結果TGroup group = (TGroup) future.get();if (group == null) {byteBuf.release();return;}sendToSingleGroup(group, byteBuf);}});總結
以上是生活随笔為你收集整理的通过 netty 实现异步任务回调获取执行结果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 翻翻git之---一个丰富的通知工具类
- 下一篇: 如何在gvim中安装autoproto自