代码拉取完成,页面将自动刷新
同步操作将从 闲.大赋(李家智)/java-performance 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package com.ibeetl.code.ch03;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
/**
* 一个简单使用实例
* @author 公众号 java系统优化
*/
public class FutureTaskTest {
public static void main(String[] args) throws Exception{
int a=10;
int b= 22;
int c =3;
int d= 9;
//求和a+b+c+d,可以分成俩个FutureTask,分别通过来个线程计算a+b和c+d,执行完毕后再求和
FutureTask<Integer>[] tasks = new FutureTask[2];
tasks[0] = new FutureTask<Integer>(new Sum(a,b));
tasks[1] = new FutureTask<Integer>(new Sum(c,d));
//其他俩个线程执行FutureTask
Thread[] threads = new Thread[2];
threads[0] = new Thread(tasks[0]);
threads[1] = new Thread(tasks[1]);
//分别计算
for(Thread t:threads){
t.start();
}
//获取执行结果
int total = 0;
for(FutureTask<Integer> task:tasks){
task.get(10, TimeUnit.MILLISECONDS);
total=total+task.get();
}
System.out.println(total);
}
static class Sum implements Callable<Integer> {
private int x;
private int y;
public Sum(int x,int y){
this.x = x;
this.y = y;
}
@Override
public Integer call() throws Exception {
return x+y;
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。