GoConqr has a new look! Let us know what you think.

Flashcards

Threads

Thiago Russo C# 70-483 Portuguese 15 cards

Threads

Cards in this deck (15)

  1. 1Threads (Introdução) Qual problema Thread resolve?Imagine uma CPU única (1 operação por vez) executando um job pesado.
    Outras tarefas ficariam esperando e a máquina "congelada", sem resposta.
    Thread resolve isso.
  2. 2O que são Threads?São "segmentos de processamento" que servem para as aplicações tirarem o máximo de proveito de sistemas multicore (vários processadores/núcleos).
    Servem para implementar paralelismo.
  3. 3Como as Threads funcionam ? Como elas implementam o paralelismo no SO?Cada aplicação é executada em seu próprio processo (em sua própria Thread), que por sua vez isola uma aplicação da outra.
    Thread,é como uma CPU virtualizada, com sua própria memória virtual., garantindo que uma app não influencia na outra..
    Se uma aplicação falha, um único processo é afetado.
    Cada Thread é executada em uma fatia de tempo, melhorando a capacidade de resposta e dando a "ilusão de paralelismo"
  4. 4Como o Windows gerencia overhead (sobrecarga) ? Overhead x escalabilidadeCada Thread é executada em uma fatia de tempo.
    Qdo o tempo acaba, a Thread é pausada e o SO executa outra Thread. Isso é a mudança de contexto.
    A Thread corrente está utilizando uma área de memória e registros da CPU. O SO tem que salvar seu estado e retomá-lo depois.
    Isso tem um custo computacional, gerando um overhead.
    Devido a isso, vc deve analisar com cautela, se realmente precisa de multithread para escalabilidde e agilidade.
  5. 5Exemplo básico de criação de ThreadExemplo básico de criação de Thread
  6. 6Thread Class: Qual namespace? O que é o recurso de Synchronization?Namespace: System.Treading
    Assembly: mscorlib (in mscorlib.dll)
    Synchronization:
    recurso que garante que 2 Threads não executem uma parte específica da app ao mesmo tempo.
    Ex: ñ deixa 2 Threads escreverem na tela ao msm tempo.
  7. 7Thread Class: .Start() ? .Start(20) ?Thread Class: .Start() ? .Start(20) ?
  8. 8Thread.Sleep().Sleep() => Suspende a Thread atual para o número especificado de milissegundos.
    Sleep(0) => sinaliza para o SO que a Thread finalizou, ao invés de esperar toda a sua fatia de tempo, liberando o processador para outra Thread.
  9. 9Thread Class: Foreground x BackgroundThread Class: Foreground x Background
  10. 10Stoping a ThreadStoping a Thread
  11. 11Thread StaticAttributeThread StaticAttribute
  12. 12ThreadLocalThreadLocal
  13. 13ThreadPool O que é, como funciona e um exemplo simples?ThreadPool O que é, como funciona e um exemplo simples?
  14. 14ThreadPool Vantagens e DesvantagensVantagens => evita o custo de criar novas Threads e existem casos que é necessário limitar a quant de Threads para não derrubar o servidor
    Desvantagens => Diminui o paralelismo que conseguimos ao utilizar diretamente a classe Thread, pois limita a qtde de Threads.
    O pool de Threads gerencia automaticamente a qtde de Threads que precisa manter.
  15. 15Thread.Join()Thread.Join()

Information

Description
Introdução conceitual sobre Threads, a Classe Thread e seus principais métodos
Created by
Thiago Russo
Views
15
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?