java - 并行流是否有自己的局部变量副本?
问题描述
我必须迭代数百万个项目的集合,并执行数百次。我看到并行流大大提高了性能。
我在 for 循环中的代码可以自己安全地运行,只要它获得循环中声明的任何变量的自己的副本。
所以我的问题是,并行流中的循环是否会获得自己在循环中声明的变量副本?
解决方案
Lambda 只能在其主体内部使用“最终”或“有效最终”变量,这些变量在 lambda 主体外部声明。这意味着,这些变量在初始化后不能再更改。因此,线程是否“共享”相同的变量或使用它的副本并不重要。
推荐阅读
- python - 我怎样才能创建一组重复的条纹,就像在美国国旗中一样
- html - 如何将我的 JSON 数据映射到 Angular 组件 .HTML 表
- r - 根据间隔拆分字符串
- angular - auth0 http拦截器StaticInjectorError
- python - 模块“cv2.cv2”没有属性“dnn_superres”
- mongodb - Mongo:引用同一集合中另一个文档的_id字段
- python-3.x - os.system 或 subprocess.call() 在 azure 函数中不起作用
- excel - 如何使用 xlsx_builder_package 在 xlsx 文件中添加公式
- python - 两个数据帧 fet 差异( numpy )
- python - Boto3 create_image 用于 AMI 创建 - 保存所有卷