java线程池多线程的实现方式 Callable

java线程池多线程的实现方式 Callable


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;

/**
 * @author happy
 *	线程池多线程的实现方式 Callable
 */
public class Callables {
	public static void main(String[] args) throws InterruptedException, ExecutionException {
		ExecutorService pool = Executors.newFixedThreadPool(2);	//创建线程池
		Future<Integer> f1 = pool.submit(new MyCallable(100));	//将线程放进池子里并执行
		Future<Integer> f2 = pool.submit(new MyCallable(50));
		System.out.println(f1.get());
		System.out.println(f2.get());
		
		pool.shutdown(); 				//关闭线程池
	}
}
class MyCallable implements Callable<Integer>{
	private int num;
	public MyCallable(int num){
		this.num = num	;
	}
	@Override
	public Integer call() throws Exception {
		// TODO Auto-generated method stub
		int sum = 0;
		for(int i = 1; i <= num; i++){
			sum += i;
		}
		return sum;
	}
	
}
发布了54 篇原创文章 · 获赞 0 · 访问量 334

猜你喜欢

转载自blog.csdn.net/qq_42977003/article/details/102996380