Feature并行执行程序
创始人
2024-05-29 21:23:14
0

前言

有时候,我们执行一段代码,去从A获取数据,再去从B获取数据,而后从C获取数据,三个业务如果按照串行执行,需要的时间是A+B+C的时间。然而三个业务是可以独立执行的,没有前后约束条件。

代码示例

示例

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;import java.util.concurrent.*;@SpringBootTest
class DemoFeatureApplicationTests {@Testpublic void feature() throws InterruptedException {long s = System.currentTimeMillis();ExecutorService executor = Executors.newCachedThreadPool();final Future futureA = executor.submit(new Callable() {public Double call() {try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}return 1.2;}});final Future futureB = executor.submit(new Callable() {public Double call() {try {Thread.sleep(6000);} catch (InterruptedException e) {e.printStackTrace();}return 1.3;}});final Future futureC = executor.submit(new Callable() {public Double call() {try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}return 1.1;}});try {Double result = futureA.get(10, TimeUnit.SECONDS);Double result2 = futureB.get(10, TimeUnit.SECONDS);Double result3 = futureC.get(10, TimeUnit.SECONDS);System.out.println("计算结果:" + (result + result2 + result3));System.out.println("耗时:" + (System.currentTimeMillis() - s));} catch (Exception e) {e.printStackTrace();}}
}

示例代码分别表示A业务5秒,B业务6秒,C业务1秒,如果串行执行则需要12秒。那么使用Feature串行后,执行后可见,其使用时间6006毫秒,显然各业务并行执行。
在这里插入图片描述

Feature有什么用?

  • 利用Feature可以让充分利用处理器的并发执行能力,提高程序的运行效率。
  • Feature 在所有任务都执行完后,一并get结果。

相关内容

热门资讯

京张全季体育旅游嘉年华启动 1... 转自:河北新闻网7月5日,游客在张家口市崇礼区富龙四季小镇体验山地自行车运动。当日,2025(第五届...
两天近两万人次参观!香港市民“... 昨天(5日),山东舰编队开放参观进入第2天,两天共有近两万人次登上祖国巨舰参观,“零距离”感受大国重...
马斯克在社交媒体上宣布“美国党... 转自:今晚报 【马斯克在社交媒体上宣布“美国党”成立】#...
中欧合作是助力欧洲发展的积极力... 转自:人民网-人民日报秉持伙伴定位、加强对话合作,中欧关系就能实现发展,惠及双方,也为世界提供更多稳...
马斯克宣布:“美国党”成立 据央视新闻消息,当地时间7月5日,美国企业家埃隆·马斯克在社交媒体平台X上发文称,“美国党”于当日成...
美国特勤局加速打击加密诈骗,十... 吴说获悉,据彭博社报道,美国特勤局全球调查行动中心(GIOC)正加速推进全球打击加密诈骗行动,过去十...
南京VS苏州,“苏超”创下双纪... 7月5日晚19:30,江苏省城市足球联赛第六轮焦点战,南京队主场迎战苏州队在南京奥体中心开赛。现场显...
白岩松评海关打假“假布布”:保... 最近一段时间,Labubu全球爆火,一“布”难求,但在哪儿,天天都要跟Labubu打交道呢?除了工厂...
打造186个以上现代农业科技试...   本报讯(洪观新闻记者 万敏)近日,江西省农业农村厅发布《2025年江西省基层农技推广体系改革与建...
2025年6月外汇局公示处罚信... 在2025年6月期间各级外汇管理部门共公示处罚案例98个,涉及48名个人,25家企业,25家银行业金...