Могу ли я создать массив переменных условия в Java? - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь реализовать монитор, используя условные переменные. Моя проблема в том, что я хочу создать много переменных Condition.

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

Как инициализировать массив Тип-условия self?

Ответы [ 2 ]

0 голосов
/ 30 марта 2019

Рекомендую создать список условий.

Пример кода:

List<Condition> conditions = new ArrayList<Condition>();
Lock lock = new ReentrantLock();
conditions.add(lock.newCondition());
0 голосов
/ 30 марта 2019

Спасибо Славу и Стивену С. за исправление моего ужасного первого ответа.

Инициализируйте ваш массив final, как если бы он не был окончательным. [Slaw - не точные слова->] Последнее ключевое слово означает, что вы не можете переназначить массив на новый массив. Вы все еще можете modify элементы в массиве.

Например, вы можете инициализировать массив "self" как new Condition[1];, затем сделать self[0] = new Condition(), а затем System.out.println(self[0]);.

...