我可以在Java中创建Condition变量数组吗?

问题描述 投票:-2回答:2

我正在尝试使用条件变量实现Monitor。我的问题是我想创建许多Condition变量。

private Lock lock = new ReentrantLock();
final Condition[] self;

如何初始化Condition-type self数组?

java monitor
2个回答
0
投票

我建议创建一个条件列表。

代码示例:

List<Condition> conditions = new ArrayList<Condition>();
Lock lock = new ReentrantLock();
conditions.add(lock.newCondition());

0
投票

感谢Slaw和Stephen C纠正我可怕的第一个答案。

初始化你的final数组,好像它不是最终的。 [Slaw不是确切的单词 - >] final关键字意味着您无法将数组重新分配给新数组。你仍然可以modify数组中的元素。

例如,您可以将数组“self”初始化为new Condition[1];,然后执行self[0] = new Condition()然后执行System.out.println(self[0]);

© www.soinside.com 2019 - 2024. All rights reserved.