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! |
|||
« Mais Antigo | Mais Recente »
|
Mensagem neste Tópico |
Diferença entre o conceito de Task e Thread (ambiente Windows) - ivoreis - 29-03-2011, 19:28
RE: Diferença entre o conceito de Task e Thread (ambiente Windows) - Guilherme de Sousa - 29-03-2011, 22:12
RE: Diferença entre o conceito de Task e Thread (ambiente Windows) - ivoreis - 29-03-2011, 22:50
RE: Diferença entre o conceito de Task e Thread (ambiente Windows) - Guilherme de Sousa - 29-03-2011 23:47
|
Utilizadores a ver este tópico: 1 Visitante(s)