当前位置: 首页 > news >正文

bug-JavaArrays.fill()隐藏问题

在这里插入图片描述对于一个数组想要初始一样的值,我们经常会这样编写。全部进行复制1,但是你有没有考虑过,如果是一个对象数组呢?

如果也是new Thread,这个是有五个线程,还是一个线程?
在这里插入图片描述

这是我在今天做哲学家问题时候遇到的
在这里插入图片描述

最后dug后返现只有一个信号量。

底层原因

可以发现Arrays.fill() 本质就是等于复制,所有的a都是共享的一个val,那么也就不难理解了,为什么会出现这样的问题。你只是new了一个线程,这个线程数组里面的线程都指向了这个地址。
在这里插入图片描述

正确的写法应该是这样的
在这里插入图片描述


http://www.mrgr.cn/news/58759.html

相关文章:

  • C# Unity 同步/异步编程和多线程什么关系?async/await和coroutine又是什么?
  • 三款计算服务器配置→如何选择科学计算服务器?
  • 实现prometheus+grafana的监控部署
  • [java毕业设计]免费分享一套SpringBoot+Vue宠物商城网站系统【论文+源码+SQL脚本】,帅呆了~~
  • 【标准文本可下载】T/CESA 1343-2024《蓝光光盘驱动器通用规范》解读
  • 深入RAG:知识密集型NLP任务的解决方案
  • Golang | Leetcode Golang题解之第508题出现次数最多的子树元素和
  • 同时支持10m 100m 1000m的phy设备驱动
  • Java进阶篇设计模式之一 ----- 单例模式
  • 【必收藏】史上最全AI工具大盘点!一篇搞定所有需求
  • 经常聊架构模式,设计模式,编程模式,也谈谈“反模式”
  • Python游戏开发超详细第二课/一个小游戏等制作过程(入门级篇共2节)
  • 雷赛DMC5X10系列控制卡——机械原点和工作原点原理
  • 数学证明相关的矩分析。
  • 查缺补漏----CPU,主存数据传送
  • masm 6.15下载及DOSBox自动挂载
  • redo log 日志 与 undo log 日志工作原理
  • 【 IC每日一题】
  • 数据结构------手撕顺序表
  • 深入解析 Lombok 的实现原理:以 @Builder 为例的实战演示(三)
  • 计算机毕业设计Python+大模型微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
  • 深度解析跨境支付之跨境支付与国内支付对比
  • 《C++求解地球可持续发展下的最大养活人数问题》
  • HCIP-HarmonyOS Application Developer 习题(十九)
  • 希尔排序的增量和缩小增量问题
  • Vue 如何批量注册自定义指令