Я пытаюсь выполнить некоторый мониторинг состояния потока отправки событий AWT (EDT) из отдельного потока. Если я начну пропускать биения, я хочу сбросить трассировку стека EDT. Проблема в том, что EventQueue не предоставляет способ получить текущий поток отправки, метод, который делает, является закрытым для пакета (возможно, по уважительной причине). Таким образом, я могу либо выполнить поиск по всем потокам и найти поток с именем, например AWT-EventQueue-X, либо использовать invokeLater или invokeAndWait и получить мое работающее сохранение вне потока, что-то вроде:
EventQueue.invokeLater(new Runnable() {
public void run() {
eventDispatchThread = Thread.currentThread();
}
});
Затем каждый раз, когда я перехожу к дамп стека потоков, я должен сначала убедиться, что EDT, который у меня есть, все еще жив, и, если нет, снова пройти весь процесс, чтобы получить поток. Я просто ищу более чистый способ сделать это.