0% acharam este documento útil (0 voto)
7 visualizações7 páginas

Guia Completo sobre Programação Multithread

O documento aborda conceitos fundamentais de programação multithread em Java, incluindo a definição de multithreading, tipos de multitarefa, prioridades de threads e métodos para gerenciar threads. Também discute situações como deadlock, criação de threads e o ciclo de vida das threads. Além disso, apresenta perguntas e respostas sobre esses tópicos, destacando a importância do escalonador de threads e métodos como wait() e notifyAll().

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
7 visualizações7 páginas

Guia Completo sobre Programação Multithread

O documento aborda conceitos fundamentais de programação multithread em Java, incluindo a definição de multithreading, tipos de multitarefa, prioridades de threads e métodos para gerenciar threads. Também discute situações como deadlock, criação de threads e o ciclo de vida das threads. Além disso, apresenta perguntas e respostas sobre esses tópicos, destacando a importância do escalonador de threads e métodos como wait() e notifyAll().

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

O que é programação multithread?

a) É um processo no qual dois processos diferentes ocorrem simultaneamente


b) É um processo em que duas ou mais partes do mesmo processo são executadas simultaneamente
c) É um processo no qual muitos processos diferentes podem acessar as mesmas informações
d) É um processo no qual um único processo pode acessar informações de muitas fontes

Resposta.b
2. Quais destes são tipos de multitarefa?
a) Baseado em processo
b) Baseado em thread
c) Baseado em Processo e Thread
d) Nenhum dos mencionados
Resposta c

3. A prioridade de thread em Java é?


a) Inteiro
b) Flutuar
c) duplo
longo
Resposta: a

4. O que acontecerá se duas threads da mesma prioridade forem chamadas para serem processadas
simultaneamente?
a) Qualquer um será executado primeiro lexicograficamente
b) Ambos serão executados simultaneamente
c) Nenhum deles será executado
d) É dependente do sistema operacional
Resposta: d

5. Qual é o valor padrão de Thread


a. 2
b. 3
c.4
d.5

Resposta :d
6. O que requer menos recursos?
a) Fio
b) Processo
c) Thread e Processo
d) Nem Thread nem Processo
Responde a

7. O que decide a prioridade da thread?


a) Processo
b) Agendador de processos
c) Fio
d) Agendador de threads

Resposta: d

O escalonador de threads decide a prioridade da execução da thread. Isso não pode garantir que
Threads de maior prioridade serão executados primeiro, isso depende da implementação do escalonador de threads.
isso é dependente do SO.

8. Deadlock é uma situação em que uma thread está aguardando que outra thread libere o adquirido.
objeto.
a) Verdadeiro

b) Falso
Resposta: a
Explicação: Deadlock é uma situação de programação em Java onde uma thread aguarda por um objeto
bloqueio que é adquirido por outra thread e vice-versa.
9. O que é verdadeiro sobre threads?
o método run() chama o método start() e executa o código
O método run() cria um novo thread
c) o método run() pode ser chamado diretamente sem que o método start() seja chamado
O método start() cria uma nova thread e chama o código escrito no método run()
start() eventualmente chama o método run(). O método start() cria uma thread e chama o código.
escrito dentro do método run.

10. Qual das seguintes é um construtor correto para thread?


a) Thread(Runnable a, String str)
b) Thread(int prioridade)
c) Thread(Runnable a, int prioridade)
d) Thread(Runnable a, ThreadGroup t)
Thread(Runnable a, String str) é um construtor válido para thread. Thread() também é válido.
construtor.
11. Qual das seguintes opções garantirá que a thread estará em estado de execução?
a) yield()
b) notificar()
c) wait()
d) [Link]()
Resposta c:

wait() sempre faz com que a thread atual entre no pool de espera do objeto. Portanto, usar isso em
uma thread manterá em estado de execução.

12. Qual método é usado para evitar polling em Java?


a) esperar()
b) notificar()
c) notifyAll()
d) todos os mencionados
Resposta d:

O polling é normalmente implementado por meio de um loop no CPU, o que desperdiça tempo de CPU, um thread sendo
executado depende da saída de outro thread e o outro thread depende da resposta em
os dados fornecidos ao primeiro thread. Nessa situação, o tempo da CPU é desperdiçado, em Java isto é
evitado usando os métodos wait(), notify() e notifyAll().

[Link] desses métodos é usado para informar a thread chamadora a abrir mão de um monitor e
vá dormir até que algum outro thread entre no mesmo monitor?
a) esperar()
b) notificar()
c) notifyAll()
d) dormir()
Resposta a.

O método wait() é usado para informar ao thread chamador para desistir de um monitor e ir dormir até
outra thread entra no mesmo monitor. Isso ajuda a evitar polling e minimiza
Tempo ocioso da CPU.

14. Qual desses métodos acorda todas as threads?


a) wakeAll()
b) notificar()
c) iniciar()
notifyAll()
Resposta d

notifyAll() wakes up all the threads that called wait() on the same object. The highest priority
o thread será executado primeiro.

15) Em multi-threading no Java, uma thread pode ser criada por

A. Extending Thread class


B. Implementando a interface Runnable
C. Usando ambos
D. Nenhum

Ans c

16) Qual método é chamado internamente pelo método start() da Thread?

A. executar()
B. executar()

C. lançar()
D. main()
Resposta b

17 Qual é a prioridade máxima de thread em Java

A. 10
B. 12
C. 5
D. 8

Ans a

18. De quantas maneiras um thread pode ser criado em multithreading Java?

A. 1
B. 2
C. 3
D. 4
Resposta a

19) Se a prioridade de um thread Java é 3, então a prioridade padrão de seu thread filho
será

A. 0
B. 1
C. 5
D. 3
Resposta D

A prioridade de thread padrão de uma thread filha é a mesma que a thread pai possui.

20) Qual método é usado para verificar se uma thread está em execução?

A. estaVivo()
B. executar ()
C. vivo ()
D. keepAlive()

Resposta A

21) A prioridade mínima e máxima de uma thread em multithreading Java são

A. 1, 10
B. 0,10
C. 0,255
D. 1.256

Resposta A

22) Qual método implementamos da interface Runnable?

A. Executar ()
B. Iniciar ()
C. Executar ()
D. chamar ()
Resposta A
23) A thread daemon é executado em

A. Contexto
B. Primeiro plano
C. Ambos
D. None
Resposta A

Threads que rodam em segundo plano dentro do mesmo processo são chamados de threads daemon.

24) Qual método é usado para criar uma thread daemon?

A. setDaemon(boolean valor)
B. setThread(boolean valor)
C. createDaemon(boolean value)
D. makeDeamon(boolean valor);

Resposta A

etDaemon(boolean value) – Passamos o parâmetro como "true" para tornar a thread como uma
thread daemon.

25) O que conterá o corpo da thread em Java?

A. Iniciar()
B. Executar()
C. Principal()
D. Execute()

Resposta B

26) The life cycle of a thread in java is controlled by

A. JRE
B. JDK
C. JVM
D. Nenhum

Resposta c

Você também pode gostar