Pergunta

Um programador executou uma tarefa de processamento , e sua aplicação Swing ficou totalmente congelada . Assinale a alternativa que explica o que aconteceu. a ) A tarefa pesada ocupou todos os núcleos de processamento do computador,fazendo com que nada rodasse. 0 comando Thread .sleep deveria ser usado ocasionalmente para liberar os processadores. b ) A aplicação Swing roda em uma única linha de execução. Como uma nova linha não foi disparada, ela não pode redesenhar seus componentes ou processal ' eventos até que a tarefa termine. c) 0 componente do Swing utilizado , era inadequado . Provavelmente o programador utilizou um JButton, quando o correto era ter programado a tarefa pesada em um JProgressBar. Com uma barra de progresso, certamente o problema não ocorreria. d ) 0 código do processamento disparou uma exceção e , como não foi capturada, isso encerrou parcialmente Swing, fazendo com que se I ) e ) 0 que ocorreu é que o programador não chamou funções de atualização
Solução

4.3170 Voting

GracielaMestre · Tutor por 5 anos
Responder
alternativa correta é a letra b) A aplicação Swing roda em uma única linha de execução. Como uma nova linha não foi disparada, ela não pode redesenhar seus componentes ou processar eventos até que a tarefa termine.
Quando uma aplicação Swing fica congelada, geralmente é devido ao fato de que ela está esperando por uma tarefa pesada de processamento ser concluída. Como a aplicação roda em uma única linha de execução, ela não pode processar eventos ou redesenhar seus componentes enquanto espera pela tarefa ser concluída. Isso pode causar a aplicação ficar congelada e não responder ao usuário.
Para evitar isso, é importante usar o comando Thread.sleep() ocasionalmente para liberar os processadores e permitir que a aplicação processe eventos e redesenhe seus componentes. Isso pode ser feito chamando o método Thread.sleep() dentro de uma thread separada, que é responsável por executar a tarefa de processamento. Dessa forma, a aplicação Swing pode continuar processando eventos e redesenhando seus componentes enquanto a tarefa de processamento está em andamento.
Quando uma aplicação Swing fica congelada, geralmente é devido ao fato de que ela está esperando por uma tarefa pesada de processamento ser concluída. Como a aplicação roda em uma única linha de execução, ela não pode processar eventos ou redesenhar seus componentes enquanto espera pela tarefa ser concluída. Isso pode causar a aplicação ficar congelada e não responder ao usuário.
Para evitar isso, é importante usar o comando Thread.sleep() ocasionalmente para liberar os processadores e permitir que a aplicação processe eventos e redesenhe seus componentes. Isso pode ser feito chamando o método Thread.sleep() dentro de uma thread separada, que é responsável por executar a tarefa de processamento. Dessa forma, a aplicação Swing pode continuar processando eventos e redesenhando seus componentes enquanto a tarefa de processamento está em andamento.
Clique para avaliar: