как перенести фокус на ошибочное поле в реагировании

Вы ожидаете на Thread - и если большинство объектов не оповещены , объект Thread уведомляется, когда поток завершается. Он где-то документирован (я ищу его ...), что вы должны not использовать wait / notify на объектах Thread, поскольку это сделано внутренне.

Это хороший пример того, почему лучше использовать «частный» объект для синхронизации (и ждать / уведомлять) - то, о чем знает только , о котором знает ваш код. Обычно я использую что-то вроде:

private final Object lock = new Object();

(В общем, однако, чище использовать некоторые абстракции более высокого уровня, предоставляемые java.util.concurrent, если вы можете. Как отмечено в комментариях, это также неплохо реализовать Runnable, а не расширять Thread самостоятельно.)

0
задан user944513 4 March 2019 в 22:43
поделиться