Как узнать, есть ли запланированные таймеры - PullRequest
2 голосов
/ 19 декабря 2011

Как узнать, есть ли запланированные таймеры в настоящее время?

Существует TimerQueue для управления очередью таймеров, но все вещи являются частными или частными.

Спасибо.

1 Ответ

2 голосов
/ 19 декабря 2011

Существует TimerQueue для управления очередью таймеров, но все вещи являются частными или частными.

Модификаторы доступа не останавливаются отражение .Таким образом, вы можете сделать что-то вроде:

Timer t = new Timer();
TimerQueue tq = (TimerQueue) Timer.class.getField("queue").get(t);
boolean isEmpty = (Boolean) TimerQueue.class.getMethod("isEmpty").invoke(tq);

Имена членов были взяты из исходного кода JDK.Частный материал не предназначен для доступа таким образом, поэтому он может сломаться в любое время.Там нет надежного способа сделать это.Жаль, что Timer не предоставляет такой API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...