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

时间:2019-03-30 02:00:03

标签: java monitor

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

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

如何初始化条件类型self数组?

2 个答案:

答案 0 :(得分:0)

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

初始化final数组,就好像它不是最终数组一样。 [Slaw的字眼不正确->] final关键字表示您无法将数组重新分配给新数组。您仍然可以modify数组中的元素。

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

答案 1 :(得分:0)

我建议创建条件列表。

代码示例:

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