Stream系列(十四)parallet方法使用
2024-08-31 11:04:36
并发
视频讲解:https://www.bilibili.com/video/av78408286/
EmployeeTestCase.java
package com.example.demo; import lombok.extern.log4j.Log4j2;
import org.junit.Test; import java.util.concurrent.TimeUnit; @Log4j2
public class EmployeeTestCase extends BaseTestCase {
@Test
public void parallel(){
list.stream().parallel().forEach(employee -> {
cal(employee);
});
}
private static void cal(Employee employee) {
try {
long lTime = Double.valueOf(employee.getSalary()).longValue();
TimeUnit.MILLISECONDS.sleep(lTime);
log.info("name:{}", employee.getName());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
BaseTestCase.java
package com.example.demo; import java.util.Arrays;
import java.util.List; public class BaseTestCase {
protected static final List<Employee> list = Arrays.asList(
new Employee(1, "Alex", 1000),
new Employee(2, "Michael", 2000),
new Employee(3, "Jack", 1500),
new Employee(4, "Owen", 1500),
new Employee(5, "Denny", 2000));
}
结果:
20:24:15.885 [ForkJoinPool.commonPool-worker-7] INFO com.example.demo.EmployeeTestCase - name:Alex
20:24:16.377 [main] INFO com.example.demo.EmployeeTestCase - name:Jack
20:24:16.378 [ForkJoinPool.commonPool-worker-9] INFO com.example.demo.EmployeeTestCase - name:Owen
20:24:16.878 [ForkJoinPool.commonPool-worker-3] INFO com.example.demo.EmployeeTestCase - name:Michael
20:24:16.878 [ForkJoinPool.commonPool-worker-5] INFO com.example.demo.EmployeeTestCase - name:Denny
关注公众号,坚持每天3分钟视频学习
最新文章
- Werkzeug工具包学习-官方例子Shortly分析
- AngularJS提供的内置过滤器
- iptables文件
- 寻找Linux单机负载瓶颈
- Java多线程——<;四>;让线程有返回值
- javaweb 学习的好地方
- Vue源码后记-其余内置指令(2)
- dotnet core高吞吐Http api服务组件FastHttpApi
- 颜色空间之CIE2000色差公式
- JS 中常见数组API使用方法(join、concat、slice、splice、reverce)
- 获取txt md5值上传文件完整性校验
- vue实现简单日历
- Confluence 6 编辑自定义 Decorators
- Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)
- AbpZero兼容sql2008
- Windows 本地文件搜索神器
- Map集合的四种遍历方式(转载)
- 华为E392-u92在 linux 2.6.34 内核环境下支持
- Unit01: JDBC原理 、 JDBC基础编程
- 搭建Apache服务器并使用自签证书实现https访问