1

有没有办法在java中锁定(同步)二维数组中的一行?我只想更新一个特定行中的一些条目并仅锁定该行而不是整个数组?

4

2 回答 2

6

需要明确的是,您在一个对象上进行同步。要在数组的第 3 行同步(记住从 0 开始的索引):

String[][] array = ....
synchronize(array[2]) {
}

例如。

于 2012-11-20T19:35:40.557 回答
3

我们同步一个代码块,而不是一个数据结构。

您应该封装该数组并同步对其的访问(根据您的要求),以使其成为线程安全的。

于 2012-11-20T19:43:00.350 回答