栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java CompletionService接口总结 CompletionService接口注释翻译和解析中英文对照版

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java CompletionService接口总结 CompletionService接口注释翻译和解析中英文对照版

CompletionService接口源码重点

  1. CompletionService接口是用于将新异步任务的创建与获取已完成任务的结果分离的服务,生产者submit要执行的任务。使用者take获取已完成的任务的Future,并按完成的顺序处理其结果
  2. 可以调用Future的get方法获取任务执行的结果
  3. take是阻塞的方法阻塞直到获取一个已完成任务的Future,而poll方法是非阻塞的,如果此时没有任务完成,则直接返回null,poll(long timeout, TimeUnit unit)是会超时的阻塞,即阻塞给定超时时间,如果超时则返回null,在超时时间内有任务完成返回Future
  4. 内存一致性:任务提交submit先于该任务被执行,而该任务被执行又先于take获取结果

CompletionService接口方法

方法名作用
Future submit(Callable task);提交一个任务以供执行,Callable里面的call方法就是要执行的任务,并返回一个Future用于获取任务执行结果,结果是call方法返回的结果
Future submit(Runnable task, V result)提交一个任务以供执行,Runnable里面的run方法就是要执行的任务, 并返回一个Future用于获取任务执行结果,执行结果是传入的 result
Future take()获取并删除表示下一个已完成任务的Future,如果还没有,则阻塞等待
Future poll()获取并删除表示下一个已完成任务的Future,不阻塞,如果没有返回null
Future poll(long timeout, TimeUnit unit)获取并删除表示下一个已完成任务的Future,只阻塞给定的超时时间,如果超时返回null

CompletionService接口源码

package java.util.concurrent;


public interface CompletionService {
    
    Future submit(Callable task);

    
    Future submit(Runnable task, V result);

    
    Future take() throws InterruptedException;

    
    Future poll();

    
    Future poll(long timeout, TimeUnit unit) throws InterruptedException;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号