У меня есть тяжелый проект java, который не реагирует на пользователей. Я узнал, что долгое время необходимые события в потоке отправки событий могут привести к тому, что мой проект будет работать медленно. Итак, у меня есть два вопроса таким образом:Как отслеживать очередь событий Dispatch?
- Как я могу отслеживать поток отправки событий и видеть, какие события находятся в очереди, и в конечном итоге, какие из них тратят больше времени в потоке отправки событий? (Как вы знаете, функция invokeLater вставляет событие в конец очереди отправки событий. Я хочу отслеживать всю очередь отправки событий)
- Как я могу вставить событие в первый поток потока сообщений? (в этом случае GUI будет реагировать).
Долгосрочные задачи НЕ должны выполняться на EDT. Это нормальная проблема для плохого ответа. Прочтите раздел из учебника Swing по [Concurrency] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html) для получения дополнительной информации. Проверьте «SwingWorker» из учебника. – camickr
Я знаю это, и я уже прочитал учебник. Я хочу указать, какие события нужно долгое время. Итак, я хочу отслеживать очередь потоков отправки событий. – hamed
Что вы хотите сделать, это не решит проблему «отзывчивой программы». Следуйте совету @camickr - вот как мы *** на самом деле *** решаем проблему. Голосование закрывается. –