Каковы эти потоки, которые являются spwaned, когда JAVA-приложение начинает свое выполнение?

Я создал простое JAVA-приложение, которое имеет JFrame и немного JButtons. Когда я пытался осмотреть JAVA-приложение с помощью JVMTI, я нашел, что, хотя я не создал явных потоков, была партия их порождена.

Я мог найти следующие потоки:

  • DestroyJavaVM
  • AWT-EventQueue-0
  • AWT-завершение-работы
  • Поток демона AWT-XAWT-
  • Устройство обработки отходов Java2D - Поток демона
  • Поток демона Thread-0-[Созданный агентом JVMTI]
  • Диспетчер сигнала - поток демона
  • Завершите - поток демона
  • Ссылочный обработчик - поток демона

Большинство из них было в Выполнимом состоянии. Кто-то может сказать мне функцию этих потоков?

5
задан MohamedSanaulla 10 February 2010 в 18:09
поделиться

2 ответа

Эти потоки используются базовыми библиотеками для управления виджетами, отображением, циклом событий и другими компонентами, необходимыми для графического приложения.

GUI-приложение обычно имеет множество движущихся частей, и, если вы заметили, вам не нужно явно писать код для управления этими частями (например, обновление экрана, или рисование кнопки, или обработка движения мыши). Именно этот набор фоновых потоков отвечает за управление этими частями и позволяет вам как можно легче сосредоточиться на логике вашего приложения.

Эти потоки порождаются библиотеками, которые вы используете (например, AWT, Swing и т.д.), и обычно очищают себя (и ресурсы, которыми они управляют) после завершения.

9
ответ дан 13 December 2019 в 22:07
поделиться

Я могу назвать вам одно и предположить три ...

  • AWT-EventQueue-0

Это графический интерфейс / Awt / Swing нить.Все, что пишется в графический интерфейс, должно выполняться в этом потоке! Иногда, если я думаю, что есть момент, когда другой поток МОЖЕТ писать в графический интерфейс, я перехожу к точке, где, как мне кажется, может произойти конфликт, и утверждаю, что имя текущего потока совпадает с "AWT-EventQueue-0" .

Мне очень жаль, что Sun не выпустила версию библиотеки «Debug», которая утверждала бы правильное использование потоков во всех компонентах - это избавило бы от многих головных болей и избавило бы Java от действительно плохого REP из-за сбоев графического интерфейса пользователя, когда он действительно люди, которые не понимают в этой ветке.

Вероятно, все они связаны с многопоточным сборщиком мусора:

  • Java2D Disposer - Daemon Thread
  • Finalize - Daemon Thread
  • Обработчик ссылок - Daemon Thread
1
ответ дан 13 December 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: