Я редактирую LinkedList
и получаю предупреждения, потому что моя синхронизированная переменная не является окончательной. Как мне сделать эту тему безопасной?
Я пытаюсь выполнить синхронизацию на LinkedList
и получаю предупреждение от моей среды IDE, в котором говорится, что синхронизация на неоконечном поле вряд ли будет полезна.
Я пробовал закрытый объект блокировки, однако, когда я синхронизируюсь, используя это, я получаю следующее исключение: java.lang.IllegalMonitorStateException
protected List<ServerDataEvent> _queue = new LinkedList<>();
synchronized (_queue) {
while(_queue.isEmpty()) {
try {_queue.wait(); } catch (InterruptedException e) {}
}
dataEvent = _queue.remove(0);
}
Я бы хотел сделать этот поток безопасным, но я не смогу заставить программу работать, пока я не синхронизируюсь на LinkedList
. Кто-нибудь может дать указания на то, что мне нужно сделать, чтобы решить эту проблему? Спасибо