Есть ли чистый способ получить поток рассылки событий AWT - PullRequest
6 голосов
/ 12 февраля 2011

Я пытаюсь выполнить мониторинг состояния потока обработки событий AWT (EDT) из отдельного потока.Если я начинаю пропускать тактовые импульсы, я хочу сбросить трассировку стека EDT.Проблема в том, что EventQueue не предоставляет способ получения текущего потока отправки, метод, который делает пакет закрытым (вероятно, по уважительной причине).Поэтому я могу либо искать во всех потоках и искать поток с таким именем, как AWT-EventQueue-X, либо использовать invokeLater или invokeAndWait, чтобы мой исполняемый файл сохранялся вне потока, что-то вроде:

EventQueue.invokeLater(new Runnable() {
    public void run() {
        eventDispatchThread = Thread.currentThread();
    }            
});

Затем каждый раз, когда я собираюсь сбросить стек потоков, я должен сначала убедиться, что EDT, который у меня есть, все еще жив, а если нет, пройти весь процесс снова, чтобы получить поток.Я просто ищу более чистый способ сделать это.

1 Ответ

1 голос
/ 12 февраля 2011

Кроме того, вы можете расширить EventQueue, как показано здесь .

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