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

bug-JavaArrays.fill()隐藏问题

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

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

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

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

底层原因

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

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


http://www.kler.cn/news/365423.html

相关文章:

  • 入侵检测算法平台部署LiteAIServer视频智能分析平台行人入侵检测算法
  • HTTP和HTTPS基本概念,主要区别,应用场景
  • 复习:React 中的 Diff 算法,原理是什么
  • Python爬虫进阶(实战篇一)
  • micro-app【微前端实战】主应用 vue3 + vite 子应用 vue3+vite
  • 【Qt】控件——Qt控件的介绍、QWidget的介绍、QWidget的属性、QWidget的函数
  • 基础巩固:
  • 视频播放速度过快怎么办?视频速度调慢的简单方法
  • PHP $this和self、parent这三个关键词分别代表什么
  • Spring的类加载机制
  • SSM学习day01 JS基础语法
  • 论文笔记:TimesFM 用于时间序列预测的仅解码器基础模型
  • vscode使用正则表达式一键删除文件中所有注释
  • 短剧AI突围战,百度跑偏了
  • logback 如何将日志输出到文件
  • 面试题框架篇
  • JavaWeb——Maven(6/8):依赖管理-依赖传递 (介绍、直接依赖与间接依赖、演示、排除依赖)
  • 题解 力扣 LeetCode 739 每日温度 C++
  • 海外云手机怎样助力亚马逊店铺运营?
  • 合约门合同全生命周期管理系统:从合同创建到归档的全流程管理解决方案
  • Spring MVC 原理与源码
  • 六个方向比较分析:ChatGPT-o1-preview与 ChatGPT-4o在论文写作辅助上的差异
  • 富格林:察觉欺诈有效追损措施
  • 解决运行jar错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
  • webRTC搭建:STUN 和 TURN 服务器 链接google的有点慢,是不是可以自己搭建
  • 当遇到 502 错误(Bad Gateway)怎么办