多线程:线程池异步计算,2个线程,1个计算10的阶乘,一个计算20的阶乘并返回
2021-02-08 03:16
标签:cut 线程 one i++ system 记录 ++ get 计算 Callable接口:与Runnable接口功能相似,用来指定线程的任务。其中的call()方法,用来返回线程任务执行完毕后的结果,call方法可抛出异常。 ExecutorService:线程池类 Future接口:用来记录线程任务执行完毕后产生的结果。线程池创建与使用 使用线程池中线程对象的步骤: 1创建线程池对象 2创建Callable接口子类对象 3提交Callable接口子类对象 4关闭线程池 代码展示: 多线程:线程池异步计算,2个线程,1个计算10的阶乘,一个计算20的阶乘并返回 标签:cut 线程 one i++ system 记录 ++ get 计算 原文地址:https://www.cnblogs.com/nbkls/p/12773597.htmlimport java.util.concurrent.Callable;
public class MyCallable implements Callable
private int num;
public MyCallable(int num) {
this.num = num;
}
public Long call() throws Exception {
long count=1;
for (int i=1;i count=count*i;
}
return count;
}
}import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class Demo03 {
public static void main(String[] args) throws ExecutionException, InterruptedException {
//创建线程任务对象
MyCallable mc1=new MyCallable(10);
MyCallable mc2=new MyCallable(20);
//获取线程池
ExecutorService es= Executors.newFixedThreadPool(2);
//执行线程任务
Future f1=es.submit(mc1);
Future f2=es.submit(mc2);
System.out.println(f1.get()+"..."+f2.get());
}
}
上一篇:JavaScript-字符串
下一篇:自己实现spring容器创建
文章标题:多线程:线程池异步计算,2个线程,1个计算10的阶乘,一个计算20的阶乘并返回
文章链接:http://soscw.com/index.php/essay/52454.html