java - 如何同步整数数组的单个元素?

标签 java arrays synchronized

如果我想锁定整个数组,我可以像这样使用 synchronized 关键字:

int arr[];

synchronized void inc(int a, int b){
    arr[a]=arr[a]+b;
}

但是我可以只锁定项目 arr[a] 以便其他线程仍然可以同时读取/写入数组的其他项目吗?

最佳答案

也许更适合您的结构是 AtomicIntegerArray

关于java - 如何同步整数数组的单个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7751997/

相关文章:

java - 如何测试 DDL 更改

java - Collections.max(array) 不工作 - Java

java - 当线程进入 Java 中的同步块(synchronized block)/方法时到底发生了什么

java - 另一个线程进入互斥体

java - 只需将 twitter4j-core-3.0.5.jar 添加到 net beans 和 maven 中的应用程序类路径中

java - 如何在 Java 中使用泛型返回一个数字?

python - 追加具有不同第一维度的 numpy 数组

java - 为什么我的同步方法不能正常工作?

java - 在 spring data jpa 投影中使用嵌入值对象

iOS - 将 arrayIndex 限制在 0 到 98 之间