2、并行编程、流与响应式编程全解析

并行编程、流与响应式编程全解析

1. 并行编程

CPU 通常按顺序执行指令,而并行编程则是将进程执行分割成多个小部分同时进行,能更好地利用多核处理器。这些小部分即任务,相互独立,执行顺序无关紧要。单 CPU 存在性能和内存限制,并行编程通过高效利用内存,能更快解决大型问题。

作为开发者,在应用开发中有两个主要任务:一是设计功能以维持应用流程,帮助用户顺畅使用;二是处理应用所需的数据。基于线程的模型仅有助于应用的功能流程,而处理数据则需要数据流式计算,响应式编程能满足这一需求。

2. 流

我们常用集合框架处理数据,但该框架存在使用循环和重复检查的复杂性,且无法高效利用多核系统。Java 8 引入的流作为新的抽象层,能以声明式方式处理数据。

流是一段时间内发出的一系列不同元素,它类似数组但又不同。数组元素在内存中顺序排列,而流元素并非如此,且每个流都有开始和结束。

以计算数组和流的前六个元素平均值为例,计算数组平均值时,开发者需逐个获取元素并求和,再应用公式计算。而对于流,不能直接套用数组的逻辑,因为流中的元素可能不会全部被访问,且元素发出速度可能不同,计算的平均值是动态值。这就像坐在河边,水流过腿部不会回流,流中的元素也是如此。

2.1 流的特性

  • 顺序元素 :流按需提供典型类型元素的序列。
  • 流的来源 :流可将集合、数组、文件或其他 I/O 资源作为输入。
  • 执行操作 :流支持对元素执行各种操作,如过滤、映
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值