Threads

Description

Introdução conceitual sobre Threads, a Classe Thread e seus principais métodos
Thiago Russo
Flashcards by Thiago Russo, updated more than 1 year ago
Thiago Russo
Created by Thiago Russo over 8 years ago
13
0

Resource summary

Question Answer
Threads (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.
O 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.
Como 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"
Como o Windows gerencia overhead (sobrecarga) ? Overhead x escalabilidade Cada 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.
Exemplo básico de criação de Thread
Thread 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.
Thread Class: .Start() ? .Start(20) ?
Thread.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.
Thread Class: Foreground x Background
Stoping a Thread
Thread StaticAttribute
ThreadLocal<T>
ThreadPool O que é, como funciona e um exemplo simples?
ThreadPool Vantagens e Desvantagens Vantagens => 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.
Thread.Join()
Show full summary Hide full summary

Similar

Porova teórica C# mod l
Cursos Professor Jonatã
Linguagem C#
Alex Araujo Furado
Prova teorica C# mo ll
Cursos Professor Jonatã
Entity framework - code first
José Fernandes
Flashcard Módulo 1 - XAMARIN LATINO AMERICA
Marcone Barbosa
Entity framework
José Fernandes
Sistemas Distribuídos
João Cássio
C# and ASP.NET
Kalebi Fiorentini
Linguagens de programação
Rodrigo Barbosa7452
Dates and times .NET
Felipe Couto Viola
Conceitos do ASP.NET CORE (Incompleto)
José Fernandes Rezende Neto