Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Diferença entre o conceito de Task e Thread (ambiente Windows)
29-03-2011, 23:47
Mensagem: #4
RE: Diferença entre o conceito de Task e Thread (ambiente Windows)
A memoria estar na cache do CPU ou não, não tem a ver com isto.
O que faz com que sejam mais rápidos os acessos à memoria tem a ver com os mecanismos de comunicação.

Cada processo tem um espaço de endereçamento atribuído pelo SO. Dado que as threads estão a correr dentro do mesmo processo, todas elas podem aceder a esse espaço de endereçamento livremente. Já se estivermos a falar de vários processos, cada um tem o seu espaço de endereçamento, e para comunicarem entre si têm que o fazer por um género de mensagens, em que o intermediário é o SO. No sistema operativo pode-se dizer que tens dois modos; um modo sistema, e um modo utilizador. Quando o sistema operativo esta a fazer operações, há um bit do cpu que muda para "modo sistema" e desta forma o SO tem acesso a toda e qualquer posição de memoria.. quando esta em modo utilizador, os processos só podem aceder à sua zona de endereçamento.

Esta explicação toda para que? Quando queres comunicar entre dois processos, ao utilizares o SO como intermediário, ficas a comutar entre modo sistema e modo utilizador por cada mensagem enviada, e isso consome tempo e obriga a uma serie de operações (todas elas feitas automaticamente pelo SO atenção.. não és tu como programador que tens que as tratar). Se tiveres a utilizar threads, já não há esta necessidade pois encontram-se todas elas no mesmo espaço de endereçamento (do processo a que pertencem).

Por exemplo, na hipótese de teres duas threads em que cada uma esta a fazer uma determinada operação, podes passar a cada uma delas uma variável. Com base nesta variável podes trocar informação de forma a que elas comuniquem (ou então utilizas uma variável global, mas isso já não é muito 'clean').


cumps!

[Imagem: 32545946.gif]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Mensagem neste Tópico
RE: Diferença entre o conceito de Task e Thread (ambiente Windows) - Guilherme de Sousa - 29-03-2011 23:47

Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)