Здесь я буду говорить чисто концептуально.Ждите завершения слушателя
У меня есть класс, который имеет слушателя, прикрепленную к нему, который делает что-то. У меня есть целый ряд объектов, построенные из этого класса
У меня также есть статический метод foo()
которого доступа к массиву, а затем делает что-то еще.
Doing что-то еще вызывает слушателя, и если я не пауза что-то еще до то делается, код не работает. foo()
знает, когда прослушиватель запускается.
Кроме того, слушатель имеет возможность напрямую вызвать слушателя на другом объекте, который был построен из того же класса. foo()
не может знать, случится это или нет, или сколько раз.
Так как я могу заставить foo()
ждать, пока исполнитель выполнит, а затем, если слушатель не вызвал цепную реакцию, продолжите там, где он остановился, или иначе дождитесь завершения выполнения любого запущенного слушателя?
«Подождите, пока какой-либо запущенный слушатель завершит выполнение» - это означает, что запущенный слушатель выполняется не как вызов метода, а каким-то параллельным способом - как поток, Runnable/Callable в пуле потоков или каким-либо другим способом , Но вы не описали природу слушателей. Как мы можем сказать, как подождать, если мы не знаем, что ждать? –