Quais são esses tópicos que são spwaned quando um aplicativo Java começa a sua execução?

StackOverflow https://stackoverflow.com/questions/2239186

  •  19-09-2019
  •  | 
  •  

Pergunta

Eu criei uma aplicação simples de Java que tem um JFrame e alguns JButtons. Quando eu tentei inspecionar o aplicativo java usando JVMTI descobri que embora eu não cria threads explícitas havia muitos deles gerou.

eu poderia encontrar os seguintes tópicos:

  • DestroyJavaVM
  • AWT-EventQueue-0
  • AWT-Shutdown
  • AWT-XAWT- Daemon Tópico
  • Java2D Disposer- Daemon Tópico
  • Thread-0- Daemon Tópico [Criado pela JVMTI Agent]
  • Signal Dispatcher- Daemon Tópico
  • Finalize- Daemon Tópico
  • Referência Handler- Daemon Tópico

A maioria deles estavam em estado executável. Alguém pode me dizer a função destes tópicos?

Foi útil?

Solução

Estes tópicos são usados ??pelas bibliotecas subjacentes para gerenciar os widgets, exibição, evento de malha, e outros encanamento que é necessário para a sua aplicação gráfica.

Um aplicativo GUI geralmente tem um monte de peças móveis, e se você observou que você não tem que escrever explicitamente qualquer código para gerenciar essas partes (por exemplo, atualizar a tela, ou desenhar um botão, ou manusear um mouse movimento). Será que é este conjunto de tópicos de fundo que são responsáveis ??pela gestão destas peças, e tornando-o mais fácil possível para que você possa se concentrar na sua lógica de aplicação.

Estes tópicos são gerados pelas bibliotecas que você usa (por exemplo, AWT, Swing, etc.) e, geralmente, limpar-se (e os recursos que eles conseguem) se após a rescisão.

Outras dicas

Eu posso te dizer uma, e acho que em três ...

  • AWT-EventQueue-0

Esta é a GUI / Awt / thread Swing. Qualquer coisa escrita para o GUI deve ser execução sobre este tópico! Às vezes, se eu acho que há um ponto onde um outro segmento pode ser escrito à GUI, eu vou para o ponto onde eu acho que a disputa pode estar acontecendo e afirmam que o nome dos atuais jogos de rosca "AWT-EventQueue-0" .

Eu realmente gostaria que Sun havia lançado uma versão "depuração" da biblioteca que afirmou o uso de segmentação correta em todos os componentes - que teria salvou um monte de dores de cabeça e salvou Java de ter uma péssima REP para bater GUIs quando é realmente as pessoas que não entendem sobre esta discussão.

Estas são provavelmente todas relacionadas com o coletor de lixo de rosca:

  • Java2D Disposer- Daemon Tópico
  • Finalize- Daemon Tópico
  • Referência Handler- Daemon Tópico
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top