package com.wang.test.concurrent;
import java.util.concurrent.Callable;
public class Task1 implements Callable<Integer> {
private int x;
private int y;
public Task1(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public Integer call() throws Exception {
return x*y;
}
}
package com.wang.test.concurrent;
import java.util.concurrent.Callable;
public class Task2 implements Callable<Integer> {
private int x;
private int y;
private int q;
private int w;
public Task2(int x, int y, int q, int w) {
this.x = x;
this.y = y;
this.q = q;
this.w = w;
}
@Override
public Integer call() throws Exception {
return x + y + q + w;
}
}
package com.wang.test.concurrent;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class Client {
public static void main(String[] args) throws Exception {
ExecutorService pool = Executors.newFixedThreadPool(4);
Task1 t1 = new Task1(1,2);
Task1 t2 = new Task1(23,34);
Task1 t3 = new Task1(23,456);
Task1 t4 = new Task1(3,33);
Future<Integer> f1 = pool.submit(t1);
Future<Integer> f2 = pool.submit(t2);
Future<Integer> f3 = pool.submit(t3);
Future<Integer> f4 = pool.submit(t4);
//Future调用get方法时,如果线程还没有执行完,程序阻塞在这里
Task2 t5 = new Task2(f1.get(), f2.get(), f3.get(), f4.get());
Future<Integer> f5 = pool.submit(t5);
System.out.println(f5.get());
pool.shutdown();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有