Primeira página
/
Tecnologia
/
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

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

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

expert verifiedVerification of experts
4.3170 Voting
avatar
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.
Clique para avaliar: