Buscar

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Questões
Exercicio
Programação Paralela Em Java: Threads
Você acertou 4 de 10 questões
Verifique o seu desempenho e continue treinando! Você pode refazer o
exercício quantas vezes quiser.
Verificar Desempenho
A
B
C
D
E
1 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()
FileInputStream.read()
Thread.yield()
Resposta incorreta
Opa! A alternativa correta é a letra E. 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
A
B
C
D
E
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.
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 incorreta
Opa! A alternativa correta é a letra B. Confira o gabarito comentado!
Gabarito Comentado
A
B
C
D
E
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
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 incorreta
Opa! A alternativa correta é a letra A. Confira o gabarito comentado!
Gabarito Comentado
O conceito de ''thread safe'' na linguagem de programação Java é
lifi d bj t i tá i I bi t
A
B
C
D
E
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. Assim, a alternativa correta
é a "A� Objetos imutáveis".
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 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
A
B
C
D
E
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'.
5 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.
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!
A
B
C
D
E
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 primeira thread 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".
6 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.
F � V � V
V � V � F
F � F � V
V � F � F
V � F � V
A
B
C
D
E
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 pedidodo thread em execução para entregar o processador voluntariamente.
7 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
A
B
C
D
E
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
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".
8 Marcar para revisão
�CESPE � INMETRO � Pesquisador � Ciência da Computação � 2010� Em relação
ao uso de threads na linguagem Java, assinale a opção correta:
O método yield é utilizado para forçar um thread a entrar no modo de
suspensão.
O método join é utilizado para garantir que determinado thread não
seja executado até que outro tenha entrado no estado inativo.
Uma classe pode definir tanto métodos quanto variáveis
sincronizadas.
Métodos static não podem ser synchronized.
Todo thread recebe uma prioridade padrão que é igual ao menor nível
de prioridade possível. Para configurar essa prioridade, pode ser
utilizado o método setPriority.
Resposta incorreta
Opa! A alternativa correta é a letra B. Confira o gabarito comentado!
A
B
C
D
E
Gabarito Comentado
A alternativa correta é a B. O método join em Java é utilizado para fazer
com que um thread espere até que o thread no qual ele foi chamado
termine sua execução. Isso significa que se o método join é chamado em
um thread, a execução desse thread será pausada até que o thread no qual
o join foi chamado termine. Portanto, o método join é utilizado para garantir
que determinado thread não seja executado até que outro tenha entrado
no estado inativo.
9 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 incorreta
Opa! A alternativa correta é a letra E. Confira o gabarito comentado!
A
B
C
D
E
Gabarito Comentado
Todas as afirmações estão corretas. A afirmação I está correta porque uma
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.
10 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 incorreta
Opa! A alternativa correta é a letra C. Confira o gabarito comentado!
Gabarito Comentado
O estado descrito no enunciado é conhecido como "Espera sincronizada".
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".

Mais conteúdos dessa disciplina