gpt4 book ai didi

Java,从多个线程编辑数组

转载 作者:行者123 更新时间:2023-11-30 11:07:54 25 4
gpt4 key购买 nike

我有很多大小为 4096 (16x16x16) 的字节数组,我想一次从多个线程编辑它们,任何元素一次被多个线程写入的可能性很小,而且几乎不可能超过 3 个将一次访问它(元素之一)(写入或读取)。
但是整个数组可以同时被多个线程访问。

这会导致任何问题吗?如果是,那么如何修复/避免它们?
我知道读书要安全,听说写作有些问题
代码需要快速(基于实时的东西)所以我不能同步它,我不能使用任何 ArrayList,因为这会导致内存问题。 (会有 1000-20000(或更多)这样的数组)

最佳答案

每次有人在同一句话中说实时与 Java 时,我的兴趣就会达到顶峰,因为实时具有大多数人不理解的特定含义(oracle/sun 有实时 jvm 可供购买)

但我跑题了,数组读写是原子的,因此是线程安全的。 2 个线程不能同时写入数组,因为操作不能分解为更小的东西(允许调度程序中途中断)只要你小心(例如不读取值,做一些数学运算然后写入它返回数组并期望给定索引处的值保持不变)

所以简而言之,只要您围绕它的逻辑也是线程安全的,就没有什么可以阻止您这样做。

关于Java,从多个线程编辑数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com