Logo Passei Direto
Buscar

java list 5

Ferramentas de estudo

Questões resolvidas

Considere as seguintes afirmações sobre Threads. I. É uma forma de um processo se dividir em tarefas que podem ser executadas concorrentemente. II. Os sistemas que suportam múltiplas threads são chamados de multithread. III. Em hardwares com múltiplas CPUs (multi-core), as threads podem ser processadas de forma simultânea. Sobre as afirmações, está correto o contido em
A) I, apenas.
B) I e II, apenas.
C) I e III, apenas.
D) II e III, apenas.
E) I, II e III.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Considere as seguintes afirmações sobre Threads. I. É uma forma de um processo se dividir em tarefas que podem ser executadas concorrentemente. II. Os sistemas que suportam múltiplas threads são chamados de multithread. III. Em hardwares com múltiplas CPUs (multi-core), as threads podem ser processadas de forma simultânea. Sobre as afirmações, está correto o contido em
A) I, apenas.
B) I e II, apenas.
C) I e III, apenas.
D) II e III, apenas.
E) I, II e III.

Prévia do material em texto

Você acertou 10 de 10
questões
Verifique o seu desempenho e continue
treinando! Você pode refazer o exercício
quantas vezes quiser.
Verificar Desempenho
1 Marcar para revisão
�COPESE � UFPI � Analista de Tecnologia da
Informação - 2017� �Questão modificada)
Sobre a classe thread da linguagem Java,
informe se cada afirmativa a seguir é
verdadeira �V) ou falsa �F�. Em seguida,
marque a opção que corresponde à sequência
correta.
( ) A classe provê diversos métodos para
controle de execução de threads, sendo o
método start responsável por iniciar a
execução do thread.
( ) O método sleep é utilizado para forçar um
método a atrasar sua execução até que o
método run de outra thread tenha completado
sua execução.
( ) O método yield, que não possui parâmetros,
é um pedido do thread em execução para
entregar o processador voluntariamente.
A
B
C
D
E
F � V � V
V � V � F
F � F � V
V � F � F
V � F � V
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
A sequência correta é V � F � V. A primeira
afirmação é verdadeira, pois a classe
Thread realmente provê diversos métodos
para controle de execução de threads,
sendo o método start responsável por
iniciar a execução do thread. A segunda
afirmação é falsa, pois o método sleep é
utilizado para fazer a thread atual dormir
(temporariamente parar a execução) pelo
número de milissegundos especificado no
argumento, e não para forçar um método a
atrasar sua execução até que o método run
de outra thread tenha completado sua
execução. A terceira afirmação é
verdadeira, pois o método yield, que não
possui parâmetros, é um pedido do thread
em execução para entregar o processador
voluntariamente.
A
B
C
D
E
2 Marcar para revisão
�AOCP � BRDE � Analista de Sistemas - 2012�
Sobre Prioridade e Agendamento de Thread na
linguagem de programação Java, analise as
afirmações e assinale a(s) correta(s).
I. Por padrão, toda thread recebe uma
DEFAULT_PRIORITY (uma constante de 5�.
II. Toda thread do Java tem uma prioridade de
thread que auxilia na ordenação em que estão
agendadas.
III. O agendamento de thread consegue garantir
que, em diferentes sistemas operacionais, cada
processo gastará a mesma fatia de tempo.
IV. Em Java, cada nova thread herda a
prioridade da thread que a cria.
Apenas I
Apenas II e IV
Apenas I, III e IV
Apenas II, III e IV
I, II, III e IV
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
A
B
C
As afirmações II e IV estão corretas. A
afirmação II é verdadeira porque, no Java,
cada thread tem uma prioridade que
auxilia na determinação da ordem em que
as threads são agendadas. A afirmação IV
também é verdadeira, pois, em Java, cada
nova thread herda a prioridade da thread
que a criou. No entanto, a afirmação I está
incorreta, pois a prioridade padrão de uma
thread em Java não é necessariamente
uma constante de 5. A afirmação III
também está incorreta, pois o
agendamento de thread não garante que
cada processo gastará a mesma fatia de
tempo em diferentes sistemas
operacionais. Portanto, a alternativa
correta é a B� "Apenas II e IV".
3 Marcar para revisão
�CESGRANRIO � BNDES � Profissional Básico -
Análise de Sistemas - 2013� Qual método
pertencente à biblioteca nativa de Java não é
capaz de bloquear a execução de uma thread?
Object.wait()
ReentrantLock.lock()
Thread.join()
D
E
FileInputStream.read()
Thread.yield()
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
O método Thread.yield() é o único entre as
opções que não bloqueia a execução de
uma thread. Este método é usado para
indicar que a thread atual está disposta a
ceder seu uso atual do processador,
permitindo que outras threads sejam
executadas. No entanto, não há garantia
de que o uso do processador será
realmente cedido. Os métodos
Object.wait(), ReentrantLock.lock(),
Thread.join() e FileInputStream.read()
podem bloquear a execução de uma
thread.
4 Marcar para revisão
�CESGRANRIO � BNDES � Profissional Básico -
Análise de Sistemas - 2011� Os usuários de um
sistema Web, desenvolvido em Java, reclamam
de erros nos dados consultados. A equipe
técnica, ao analisar a situação, concluiu que
determinado método M está sendo invocado,
simultaneamente, por diferentes threads.
Considerando que não há manipulação de
locks no restante do sistema, o que pode ser
A
B
C
D
E
feito para que M seja executado, em dado
momento, somente por uma thread?
Ajustar o firewall de borda para
permitir uma conexão por IP.
Implementar connection pooling no
acesso ao banco de dados.
Utilizar a keyword lockable no bloco
de M.
Declarar o método M como
synchronized.
Reescrever M em Assembly,
necessariamente.
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
Na linguagem de programação Java,
quando múltiplas threads acessam um
método simultaneamente, pode ocorrer
uma condição de corrida, que pode levar a
resultados inesperados ou erros. Para
evitar isso, podemos usar a palavra-chave
'synchronized' ao declarar um método.
Isso garante que, em um dado momento,
apenas uma thread possa executar o
método. Portanto, a alternativa correta é
'Declarar o método M como synchronized'.
A
B
C
D
E
5 Marcar para revisão
�VUNESP � TJ/SP � Analista de Sistemas - 2012�
Considere as seguintes afirmações sobre
Threads:
I. É uma forma de um processo se dividir em
tarefas que podem ser executadas
concorrentemente.
II. Os sistemas que suportam múltiplas threads
são chamados de multithread.
III. Em hardwares com múltiplas CPUs (multi-
core), as threads podem ser processadas de
forma simultânea.
Sobre as afirmações, está correto o contido
em:
I, apenas
I e II, apenas
I e III, apenas
II e III, apenas
I, II e III
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
Todas as afirmações estão corretas. A
afirmação I está correta porque uma
A
B
C
thread é, de fato, uma forma de um
processo se dividir em tarefas que podem
ser executadas simultaneamente. A
afirmação II também está correta, pois os
sistemas que suportam múltiplas threads
são conhecidos como sistemas
multithread. Por fim, a afirmação III está
correta, pois em hardwares com múltiplas
CPUs (multi-core), as threads podem ser
processadas simultaneamente. Portanto, as
afirmações I, II e III estão corretas.
6 Marcar para revisão
�UFJF � COPESE � Técnico de Tecnologia da
Informação - 2017� Java possui suporte à
definição de métodos synchronized, os quais:
Permitem a sincronização com outros
métodos synchronized da mesma
classe, de modo que possam iniciar
sua execução exatamente juntos a
partir de diferentes threads.
Permitem a sincronização com outros
métodos synchronized da mesma e de
outras classes, de modo que possam
iniciar sua execução exatamente
juntos a partir de diferentes threads.
Habilitam o monitor de um objeto, que
garante exclusão mútua entre threads
que tentam executar seus métodos
synchronized em um dado momento.
D
E
Habilitam o uso do relógio de tempo
real no objeto, que é sincronizado
com o relógio atômico e que, assim,
tem mais precisão se comparado com
o relógio do sistema.
Permitem monitorar sua execução
para que outras ações no mesmo
objeto possam ser sincronizadas para
execução obrigatoriamente em
paralelo.
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
O método synchronized em Java é
utilizado para controlar o acesso a um
bloco de código ou método por várias
threads. Quando uma thread está
executando um método synchronized,
todas as outras threads que tentam
executar qualquer método synchronized no
mesmo objeto são bloqueadas até que a
primeirathread termine sua execução. Isso
é conhecido como exclusão mútua e é a
principal característica dos métodos
synchronized. Portanto, a alternativa
correta é a C� "Habilitam o monitor de um
objeto, que garante exclusão mútua entre
threads que tentam executar seus métodos
synchronized em um dado momento".
A
B
C
D
E
7 Marcar para revisão
No que se refere à linguagem de programação
Java, ''thread safe'' é um conceito segundo o
qual threads concorrentes utilizam algoritmo de
sincronismo para cooperarem entre si. É
exemplo da aplicação desse conceito:
Objetos imutáveis
Objetos finais
Objetos estáticos
Classes estáticas
Classes finais
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
O conceito de ''thread safe'' na linguagem
de programação Java é exemplificado por
objetos imutáveis. Isso ocorre porque, em
um ambiente multithread, os objetos
imutáveis são seguros para serem usados
por várias threads simultaneamente, sem a
necessidade de sincronização, pois uma
vez criados, seu estado não pode ser
alterado. Portanto, não há risco de uma
thread interferir na operação de outra.
A
B
C
D
E
Assim, a alternativa correta é a "A� Objetos
imutáveis".
8 Marcar para revisão
�UFF � COSEAC � Analista de Tecnologia da
Informação - 2015� Na linguagem Java, uma
thread executável pode entrar em um
determinado estado por um intervalo de tempo
específico, retornando ao estado executável
quando for notificada por outra thread ou
quando esse intervalo expirar. Essa situação
caracteriza o seguinte estado:
Cancelado
Bloqueado
Espera sincronizada
Novo
Terminado
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
O estado descrito no enunciado é
conhecido como "Espera sincronizada".
A
B
C
Nesse estado, a thread executável entra
em um intervalo de tempo específico e
retorna ao estado executável quando é
notificada por outra thread ou quando o
intervalo de tempo expira. Isso é comum
em situações onde uma thread precisa
esperar por outra para completar uma
tarefa antes de continuar. Portanto, a
alternativa correta é a "C", que
corresponde à "Espera sincronizada".
9 Marcar para revisão
Em relação à criação e controle de threads na
linguagem Java, assinale a opção correta.
O método run() de uma thread inicia
a execução concorrente do thread
quando chamado diretamente.
A interface Runnable permite definir
threads, mas não pode ser usada com
a classe Thread.
O método sleep() faz com que o
thread atual pause sua execução por
um tempo determinado, mas ele pode
lançar a exceção
InterruptedException.
D
E
Após um thread entrar no estado
"terminated", ele pode ser reiniciado
chamando novamente o método
start().
O método interrupt() encerra
imediatamente a execução de um
thread, mesmo que ele esteja
executando uma tarefa crítica.
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
Letra A � Incorreta Chamar run()
diretamente não inicia a execução
concorrente, apenas executa o método
como uma chamada normal.
Para execução em paralelo, é necessário
chamar start(), que internamente chama
run() em uma nova thread.
Letra B � Incorreta A interface Runnable
pode sim ser usada com a classe Thread.
Basta passar uma instância de Runnable
para o construtor da Thread.
Letra C � Correta O método
Thread.sleep(milliseconds) pausa o
thread atual pelo tempo indicado e lança
InterruptedException caso o thread seja
interrompido durante o sono.
Letra D � Incorreta Um thread não pode ser
reiniciado após terminar. Tentar chamar
start() novamente em um thread que já
terminou resulta em uma
IllegalThreadStateException.
A
B
C
D
E
Letra E � Incorreta O método interrupt()
não encerra imediatamente um thread. Ele
apenas sinaliza a interrupção. O thread
precisa verificar esse sinal e tratar a
interrupção adequadamente.
10 Marcar para revisão
Em Java, quando uma thread está aguardando
para obter a trava de um semáforo, ela
encontra-se no estado:
RUNNABLE
BLOCKED
WAITING
TIMED_WAITING
STOPPED
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
Em Java, quando uma thread está
aguardando para obter a trava de um
semáforo, ela se encontra no estado
"BLOCKED". Isso significa que a thread
Questão 4 de 10
Corretas �10�
Em branco �0�
1 2 3 4 5
6 7 8 9 10
Lista de exercícios Programaç… Sair
está bloqueada, aguardando a liberação
de um recurso para continuar sua
execução. Portanto, a alternativa correta é
a letra B, que indica o estado "BLOCKED".

Mais conteúdos dessa disciplina