我正在尝试使用条件变量实现Monitor。我的问题是我想创建许多Condition变量。
private Lock lock = new ReentrantLock();
final Condition[] self;
如何初始化Condition-type self
数组?
我建议创建一个条件列表。
代码示例:
List<Condition> conditions = new ArrayList<Condition>();
Lock lock = new ReentrantLock();
conditions.add(lock.newCondition());
感谢Slaw和Stephen C纠正我可怕的第一个答案。
初始化你的final
数组,好像它不是最终的。 [Slaw不是确切的单词 - >] final关键字意味着您无法将数组重新分配给新数组。你仍然可以modify
数组中的元素。
例如,您可以将数组“self”初始化为new Condition[1];
,然后执行self[0] = new Condition()
然后执行System.out.println(self[0]);
。