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