问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java Callable接口的call方法什么时候被调用

发布网友 发布时间:2022-05-08 01:15

我来回答

2个回答

热心网友 时间:2023-11-23 04:58

线程提交执行的时候就会被调用,就像run方法一样,只不过这里在未来可以得到call执行的结果

import java.util.ArrayList;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

class TaskWithResult implements Callable<String>{
private int id;
private static int count =10;
private final int time =count--;
public TaskWithResult(int id){
this.id = id;
}

@Override
public String call() throws Exception {
TimeUnit.MILLISECONDS.sleep(100);
return "Result of TaskWithResult : "+ id+", Time= "+time;
}

}
public class CallableDemo {

public static void main(String[] args) throws InterruptedException, ExecutionException {
 ExecutorService exec = Executors.newCachedThreadPool();
 ArrayList<Future<String>> results =new ArrayList<Future<String>>();
 for(int i=0;i<10;i++){
 results.add(exec.submit(new TaskWithResult(i)));
 }
 
 for(Future<String> fs : results){
 System.out.println(fs.get());
 }
}

}

热心网友 时间:2023-11-23 04:58

Runnable和Callable的区别:
(1)Runnable是自从java1.1就有了,而Callable是1.5之后才加上去的
(2)Callable规定的方法是call(),Runnable规定的方法是run()
(3)Callable的任务执行后可返回值,而Runnable的任务是不能返回值(是void)
(4)call方法可以抛出异常,run方法不可以
(5)运行Callable任务可以拿到一个Future对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。通过Future对象可以了解任务执行情况,可取消任务的执行,还可获取执行结果。
(6)加入线程池运行,Runnable使用ExecutorService的execute方法,Callable使用submit方法。
Callable接口也是位于java.util.concurrent包中。Callable接口的定义为:

Java代码
public interface Callable<V>
{
V call() throws Exception;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
13岁一直到18岁晚上经常熬夜会有什么影响 具象表现素描内容简介 ...| 从14世纪文艺复兴到20世纪具象表现绘画 · 168幅画 · 图解西方... 【漫画赏析】比喻具象化——《孤高之人》手法分析 具象美术作品有哪些 具象艺术艺术家介绍 话说 曾经有个演唱会 是初音未来演唱会 39祭 谁知道微信聊天记录删掉了,还能恢复过来吗?有什么软件可以恢复吗?不... 六爻。测缘分。测婚姻 礼仪起源于祭祀的证据是什么? java多线程中的callable和future常用在哪些地方 runnable和callable区别是什么? JAVA中Callable的call方法抛出的异常会抛到那里? 水瓶座男生是怎么样的人? 金牛男和水瓶男怎么相处 水瓶座男什么性格 天平座,金牛座,水瓶座,白羊座男女的性格怎样的呀! 水瓶座男生的性格 七三年牛男水瓶座的性格特点 金牛座与水瓶座有什么共同点 大家说水瓶男和金牛男谁更好? 电信ITV太复杂老人不会用,怎么能简单操作 iTV电视商城怎么使用? 隐藏华为解锁图案 早餐为了养肝,要多食西红柿和柠檬等酸性水果吗? 吃西红柿对肝病能有提高帮助吗? 多吃西红柿去肝火吗? 多食西红柿等酸性蔬菜和水果,有益于养肝吗? 《世界军事》杂志九几年的封面诗歌 现在市面上一共有多少种连续出版的军事类期刊杂志? java中使用继承Callable的方式实现多线程? java猜数游戏 在java中有一个方法调用了很多个方法怎么用参数控制调用其中的任何一个方法??? 你好,我想贷款十万,无抵押,有社保公积金,月薪4500左右,银行能批 公积金只能贷10万有必要吗 成都公积金也能信用贷款吗? qq账号处于保护模式 已经申诉成功 解除安全模式时需要发送短信,可是发了很多次都没反应 QQ手机密保 发短信怎么没反应啊? 小说,女强男也强,一女多男,越多越好! 求穿越女强(不要女尊)一女多男不虐的小说。越多越好 好友突然在朋友圈发消息,不一会儿又取消了,啥意思 冰箱都清理干净了,为什么还有一种辣味? 冰箱断电半个月后食物腐烂生蛆,冰箱拆开清理过后还是有味道,有些死角没清理到,以后会有细菌吗? 刷完冰箱为什么还有味道?用消消棒除味安全吗? - 信息提示 自考专科,没有毕业证,学信网可以查到毕业信息。没有专科毕业证的情况下,可以申请自考本科毕业证吗? 自考本科毕业时提供的专科毕业证学信网查不到可以吗 2012山西大学新生几号开学 请问山西大学几号开学?我几号来校报名? 预计一下山西省大学的开学时间?