加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

线程实现异步计算-求和

发布时间:2021-05-20 09:45:28 所属栏目:大数据 来源: https://blog.csdn.net/summoxj
导读:类GetSumCallable实现接口:@H_403_1@ import java.util.concurrent.Callable; public class GetSumCallable implements CallableInteger { ?? ?public Integer call(){ ?? ??? ?int sum=0; ?? ??? ?for(int i=0;i=100;i++) ?? ??? ??? ?sum=sum+i; ?? ??? ?

类GetSumCallable实现接口:@H_403_1@

import java.util.concurrent.Callable;

public class GetSumCallable implements Callable<Integer> {
?? ?public Integer call(){
?? ??? ?int sum=0;
?? ??? ?for(int i=0;i<=100;i++)
?? ??? ??? ?sum=sum+i;
?? ??? ?return sum;
?? ?}
}

@H_403_1@

类GetSumCallable2实现接口:@H_403_1@

import java.util.concurrent.Callable;

public class GetSumCallable2 implements Callable<Integer> {
?? ?public Integer call(){
?? ??? ?int sum=0;
?? ??? ?for(int i=0;i<=200;i++)
?? ??? ??? ?sum=sum+i;
?? ??? ?return sum;
?? ?}
@H_403_1@

}@H_403_1@


@H_403_1@

测试Demo类:@H_403_1@

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

/*
?* 使用多线程技术,求和(线程池)
?* 两个线程,1个线程计算1+100;另一个线程计算1+200的和
?* 多线程的异步计算
?*/
public class ThreadPoolDemo {
?? ?public static void main(String[] args) throws Exception {
?? ??? ?ExecutorService es=Executors.newFixedThreadPool(2);
?? ??? ?Future<Integer>f=es.submit(new GetSumCallable());
?? ??? ?int s1=f.get();
?? ??? ?System.out.println(s1);
?? ??? ?Future<Integer>f1=es.submit(new GetSumCallable2());
?? ??? ?int s2=f1.get();
?? ??? ?System.out.println(s2);
?? ?}
}
@H_403_1@


@H_403_1@

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读