Dúvidas sobre Theads com Swing

Boa Tarde Galerinha!!!

Eu andei pesquisando sobre threads e vi que no swing o modo de se usar é diferente. Queria fazer algumas perguntas.

Pra que serve o EventQueue?

Existe algum gerenciador de thread no Swing?

Preciso fazer uma aplicação com um thread que faça requisições a um web services. quando retornar um valor eu tenho que pausa-la e esperar a ação do usuário para continuar, é possível?

Eu sei que as threads são imprevissíveis, mas tem como garantir a execução da thread que estará em um while(true), existe?

Agradeço a atenção.

Cara, não sei se existe um tipo de thread específico para swing. Se existir provavelmente vai estender a classe Thread padrão. O que você pode fazer é sua thread escrever a data atual em Long em uma variável de outra thread. Essa outra thread fica verificando através de outra variável que fica atualizando o tempo atual se a diferença dessas duas variáveis é maior que 10 segundos, por exemplo. Threads que usam services em geral costumam ter o comportamento instável a depender da qualidade do seu service, por isso, uma outra thread que confirma a execução do loop se torna viável.

Bom estudo.

Abraço

Use SwingWorker :slight_smile:

Boa Noite Galera,

ressusitando o tópico, fiquei com outra dúvida.

Acreditoq eu tenha que criar um while(true) e colocar as requisições a cada 5 segundos (Thread.sleep(5000)),essa é a melhor forma? E se eu usar um swing timer que a cada 5 segundos dispara a SwingWorker?

Qual é a melhor forma de trabalhar com web service?

Pensando sobre o problema, acredito que entre uma solicitação e outra requisição eu tiver que solicitar a interação do usuário, a SwingWorker seria finalizada e com a resposta do usuário voltava a disparar a SwingWorker a cada 5 segundos.

O que acham?

Eu busco as melhores práticas para se trabalhar e etc. por isso pergunto.

grato desde já!!!