Threads em C#

927 palavras 4 páginas
Threads
Um thread é uma sequência de instruções que vão ser executadas num programa. No ambiente UNIX, os threads encontram-se dentro de um processo, utilizando os recursos desse processo. Um processo pode ter vários threads.
Pode-se dizer que um thread é um procedimento que é executado dentro de um processo de uma forma independente. Para melhor perceber a estrutura de um thread é útil entender o relacionamento entre um processo e um thread. Um processo é criado pelo sistema operativo e podem conter informações relacionadas com os recursos do programa e o estado de execução do programa:
1. Process ID, process group ID, group ID
2. Ambiente
3. Directoria de trabalho
4. Instruções do programa
5. Registos
6. Pilha (Stack)
7. Espaço de endereçamento comum, dados e memória
8. Descritores de ficheiros
9. Comunicação entre processos (pipes, semáforos, memória partilhada, filas de mensagens)
Os threads utilizam os recursos de um processo, sendo também capazes de ser escalonados pelo sistema operativo e serem executados como entidades independentes dentro de um processo.
Um thread pode conter um controlo de fluxo independente e ser escalonável, porque mantêm o seu próprio:
1. Pilha
2. Propriedades de escalonamento
3. Dados específicos do thread
Um processo pode ter vários threads, partilhando cada um os recursos do processo e são executados no mesmo espaço de endereçamento. Com vários threads, temos em qualquer instante vários pontos de execução.

Como os threads partilham os recursos de um processo:
1. as alterações feitas por um thread num recurso partilhado (ex: fechar um ficheiro) serão "vistaa" pelos outros threads.
2. Dois apontadores com o mesmo valor, apontam para os mesmos dados.
3. É possível ler e escrever nas mesmas posições de memória, sendo por isso necessária uma sincronização explícita que tem de ser feita pelo programador.
Todos os threads estão no mesmo nível hierárquico. Um thread não mantém uma lista dos

Relacionados

  • Threads
    4463 palavras | 18 páginas
  • tread
    1292 palavras | 6 páginas
  • Processos
    3635 palavras | 15 páginas
  • texto
    3352 palavras | 14 páginas
  • PROGRAMAÇÃO EM THREADS
    1213 palavras | 5 páginas
  • Processos e threads
    2375 palavras | 10 páginas
  • Administração modelo japones
    4060 palavras | 17 páginas
  • Sistema operacional
    1890 palavras | 8 páginas
  • Processos e Threads
    2438 palavras | 10 páginas
  • processos e threads
    2458 palavras | 10 páginas