JUC(8)Stream流式计算

简介: 这篇文章介绍了Java中的ForkJoin框架,它在JDK 1.7中引入,用于并行执行任务以提高大数据量处理的效率,特点包括工作窃取和双端队列维护,并提供了CompletableFuture的异步调用示例。

文章目录

  • 1、ForkJoin

1、ForkJoin

ForkJoin 在JDK1.7 ,并执行任务!提高效率,大数据量
大数据:Map Reduce (把大任务拆分为小任务)

ForkJoin特点:工作窃取
这个里面维护的是双端队列

在这里插入图片描述

在这里插入图片描述
例子、异步调用线程

package com.completablecuture;


import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;

/**
 * 异步调用:CompletableFuture
 * 异步执行
 * 成功回调
 * 失败回调
 */
public class CompletableFutureDemo {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        //发起一个请求
        CompletableFuture<Void> completableFuture = CompletableFuture.runAsync(()->{

            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            System.out.println(Thread.currentThread().getName()+"===>runAsync==>Void");
        });
        System.out.println("hello world!");
        completableFuture.get();//获取阻塞执行线程

    }

}

测试结果:
在这里插入图片描述

相关文章
|
7月前
|
SQL 存储 Java
java流式计算Stream
java流式计算Stream
43 0
|
7月前
|
分布式计算 并行计算 Java
Java的流(Streams)与并行处理的技术性文章
Java的流(Streams)与并行处理的技术性文章
60 1
|
3月前
|
Java 大数据 API
Java8的stream里的并行度如何使用?效率有提升吗?
Java8的stream里的并行度如何使用?效率有提升吗?
40 4
|
5月前
|
搜索推荐 Java 大数据
Java中的数据流处理与流式计算实现
Java中的数据流处理与流式计算实现
|
5月前
|
消息中间件 Java Kafka
Java中的流处理框架:Kafka Streams与Flink
Java中的流处理框架:Kafka Streams与Flink
|
7月前
|
存储 Java API
java8流式操作、stream
java8流式操作、stream
|
存储 Java
Stream流式编程
Stream流式编程
139 0
|
Java
Java8中stream流处理数据21个小案例(学习使用)
Java8中stream流处理数据21个小案例(学习使用)
99 0
|
存储 分布式计算 Java
Java 8 - Stream基本实例及Stream的并行处理在线程上的表现
Java 8 - Stream基本实例及Stream的并行处理在线程上的表现
249 0
|
并行计算 算法 Java
Java 8 - 并行流计算入门
Java 8 - 并行流计算入门
145 0