Java ArrayList.add() 方法对于纯并行添加线程安全吗? [复制]

2023-11-30

考虑一个函数的 for 循环,该函数接受 ArrayList 引用并向该 ArrayList 添加一个对象。我现在想并行执行每个函数调用。

如果我不关心对象添加的顺序并且没有函数读取或操作任何 ArrayList 元素,那么 ArrayList.add() 方法线程安全吗? 所以我只想确保在并行调用结束时所有对象都添加到列表中。


不,它不是线程安全的。使用以下内容包装您的列表Collections.synchronizedList(),或者在访问列表时使用显式同步。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java ArrayList.add() 方法对于纯并行添加线程安全吗? [复制] 的相关文章

  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 如何在 iPhone 上使用带有线程的 sqlite + fdbm 库

    相关这个问题 https stackoverflow com questions 1082554 我想把数据加载放在后台 但是 我收到 库例程调用不按顺序 错误 In 这个所以线程 https stackoverflow com quest
  • Spring AspectJ 在双代理接口时失败:无法生成类的 CGLIB 子类

    我正在使用Spring的
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java

随机推荐

  • 对齐多个 XYChart 的 X 轴

    我有两个XYChart我想垂直对齐显示 这两个图共享相同的 x 轴 但它们使用不同的数据集 这些值不在同一数量级 这使得 y 轴标签的大小差异很大 最终 两个x轴不再对齐 我的目标是对齐这些 x 轴 一种建议的解决方案提供了一种解决方法 即
  • 组合框所选项目 WPF c#

    我想在组合框 wpf 中获取所选项目 但它返回System Data DataRowView 我的 xaml 代码
  • 将 Obserable 集合绑定到 UWP 中的 MenuFlyoutSubItem

    目前我得到 属性 Items 没有可访问的设置器 我如何修改此控件以允许我将集合绑定到它 并且可能只是将集合中对象的属性设置为项目的文本属性
  • 使用比较器比较不同的对象类型

    我需要编写一个比较器 它接受类型 A 的对象 A 和类型 B 的对象 B 这两个对象不是公共对象的扩展 它们确实不同 但我需要通过其中的共同字段来比较这两个对象 我必须使用比较器接口 因为对象存储在 Set 中 并且之后我必须使用 Coll
  • 如何在 gmock Expect_call 中对结构参数进行部分匹配

    struct obj int a string str string str2 bool operator const obj o const if a o a str o str str2 o str2 return true retur
  • 在java中将层次列表转换为平面列表

    我有一个层次结构list如下所示 我想将其转换为公寓list 我写了一个方法叫convertToFlatList并已经使用过它 但最终结果中缺少一些元素 我做错了什么 还有比我用来将列表转换为平面列表更好的方法吗 我添加了示例代码和类似于我
  • 带有 OpenJDK 11 且没有 Spring Context 的 AspectJ 1.9.4 无法作为依赖模块工作

    我正在尝试使用 AspectJ 创建自定义加载时注释 在没有 Spring Context 的情况下打开 JDK11 它在模块内运行良好 注释在类加载时编织 方面在运行时执行 没问题 但是当aspectJ实现模块添加为对另一个模块的依赖时
  • build.gradle 依赖项自动更新

    compile com google android gms play services 8 3 0 compile com android support support v4 22 2 1 compile com android sup
  • 将 BitmapImage 加载到 WriteableBitmap 但不存在方法

    的构造函数WriteableBitmapWindows 8 的类仅接受两个参数 该对象的高度和宽度 同时 Silverlight 接受BitmapImage对象作为参数 在 MSDN 上验证 WriteableBitmap Writeabl
  • Firebase 查询从两个节点一起获取数据

    我在 Firebase 实时数据库中有一个名为 Posts 的根节点 在其中 我有两个名为 ImagePosts 和 TextPosts 的节点 在 ImagePosts 和 TextPosts 内 我有各种帖子的 postId 在 pos
  • 非法指令:运行任何 Tensorflow 程序时出现 4 错误

    我正在尝试训练 Tensorflow 卷积神经网络 无论我运行程序的环境如何 我总是会收到一个神秘的错误 在 Jupyter Notebook 中 内核会直接死掉 在终端中 我得到 非法指令 4 没有回溯 在 Pycharm 中 我得到 进
  • 如何显示和隐藏 UISearchDisplayController 的 UISearchBar

    我有一个位于导航右侧的按钮搜索 这是我的代码 UIButton btnSearch UIButton buttonWithType UIButtonTypeCustom btnSearch frame CGRectMake 0 0 22 2
  • Fabric.io 中的 API 密钥和 Build Secret 有什么区别?

    我在 Android 应用程序中使用 Fabric io 的 Crashlytics 工具 我已将 API 密钥放入清单文件中 Fabric 还提供了构建秘密字符串 但没有使用说明 Fabric 可能假设用户事先了解如何使用 BUILD S
  • 映射 servlet 来满足我的请求

    我想映射一个 servlet 来服务包含 app 并以 html 结尾的请求 如下所示
  • 使用 GSON 加载非常重的流

    我正在尝试读取非常重的 JSON 超过 6000 个对象 并将它们存储在哈希映射上 以便稍后将其插入到我的数据库中 但问题是我面临 OOM 这是我沉重的 JSON 造成的 但是 GSON 库应该让我摆脱这种情况 但事实并非如此 有任何想法吗
  • 获取默认选择颜色?

    I can change theCSS选择颜色 但我怎样才能get浏览器 操作系统默认选择以便我可以在其他地方使用它 例如在 Ubuntu Chrome 上 文本以橙色突出显示 我想将同样的风格应用到 li 当我用鼠标悬停在它上面时 CSS
  • 全局检测触摸

    我试图弄清楚如何解决这个 相当 简单的问题 但我失败得很惨 所以我真的需要你的建议 我的应用程序由一个带有多个选项卡的 uitabbar 组成 在其中一个中 我有一堆 UIImageView 每个视图代表图片的缩略图 类似地 当您通过按住应
  • 在C++中,为什么指针转换时地址会改变?

    以下是代码 include
  • 使用现有基类对象创建派生类对象?

    是否有可能 或快速解决方法 创建定义为派生类的对象 而无需在内存中创建基类对象 相反 派生对象应该引用基类实际存在的对象 接管 其内存驻留 出于速度原因 这是需要的 创建新的派生对象 将数据从基类对象复制到它 然后销毁基对象需要太多时间 在
  • Java ArrayList.add() 方法对于纯并行添加线程安全吗? [复制]

    这个问题在这里已经有答案了 考虑一个函数的 for 循环 该函数接受 ArrayList 引用并向该 ArrayList 添加一个对象 我现在想并行执行每个函数调用 如果我不关心对象添加的顺序并且没有函数读取或操作任何 ArrayList