Partilhar via


Programas com vários threads

A thread é basicamente um caminho de execução por meio de um programa.Também é a menor unidade de execução agenda do Win32.Um segmento consiste em uma pilha, o estado dos registros de CPU e uma entrada na lista de execução do Agendador do sistema.Cada thread compartilha recursos de todos os do processo.

Um processo consiste em um ou mais segmentos e o código, dados e outros recursos de um programa na memória.Recursos normal do programa são arquivos abertos, semáforos e memória alocada dinamicamente.Um programa é executado quando o programador do sistema fornece um dos threads de seus controle de execução.O Agendador determina quais segmentos devem ser executado e quando eles devem ser executado.Segmentos de prioridade mais baixa talvez precise aguardar enquanto concluem suas tarefas de segmentos de prioridade mais alta.Em máquinas com vários processadores, o Agendador pode mover segmentos individuais para diferentes processadores para equilibrar a carga da CPU.

Cada thread em um processo funciona independentemente.A menos que você torná-los visíveis para outro, os threads executada individualmente e desconhece outros threads em um processo.Threads de compartilhamento de recursos comuns, no entanto, devem coordenar seu trabalho usando semáforos ou outro método de comunicação entre processos.Para obter mais informações sobre a sincronização de threads, consulte Escrevendo um programa Win32 multithread.

Consulte também

Conceitos

Multithreading com C e Win32