Compartilhar via


Threads

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Um segmento é um caminho de execução em um processo.

Cada tempo de OS cria um processo, ele também cria at least um segmento para dar o processo tantos tempo de CPU como possíveis.

De exemplo, em muitos aplicativos, é útil criar um separar segmento para impressão identificador tarefas isso que o usuário pode continuar a usar o aplicativo enquanto ele está impressão.

Cada segmento compartilha todos os recursos do processo, incluindo suas espaço de endereço.

Cada segmento possui uma pilha. O vinculador, /STACK, define o tamanho pilha para todos os segmentos que são criados em um processo. Um individual segmento pode definir seu próprio tamanho pilha por chamado CreateThread e usando o parâmetro STACK_SIZE_PARAM_IS_A_RESERVATION.

Um segmento também contém o estado dos registradores CPU, conhecidos como o contexto e uma entrada na lista do agendador de sistema.

Use a função GetThreadContext para obter o contexto segmento e a função SetThreadContext para definir o contexto segmento.

Cada segmento em um processo é executado de forma independente. A menos que você tornar os segmentos visível para si, eles são insensíveis os outros segmentos em um processo.

Segmentos que comum compartilhar recursos devem ser sincronizado.

Um aplicativo é iniciado quando o agendador sistema oferece um controle seu segmentos. O agendador sistema determina quais segmentos para executar e quando eles devem executar. Segmentos de prioridade inferior talvez precise aguardar enquanto prioridade mais alta segmentos completo suas tarefas.

Segmentos podem estar em um do seguinte estados:

  • Executando
  • Suspenso
  • Aguardando
  • Bloqueado
  • Finalizada

Quando todos os segmentos estão no estado bloqueado, Windows Embedded CE insere ocioso modo, que interrompe a CPU de desempenhando instruções e consumindo energia.

A partir ocioso modo, você pode alternar para suspender modo se não houver nenhuma atividade usuário. Suspender modo pode ser controlado pelo OEM e aplicativos.

Para economizar energia, use sincronização objetos para segmentos bloco que estão aguardando, em vez de criar um segmento que controla de status, such as a função PeekMessage.

Para obter mais informações sobre segmentos, consulte o seguinte tópicos:

See Also

Concepts

Processes and Threads
Creating and Terminating a Thread
Scheduling a Thread
Suspending a Thread
Timing a Thread
Storing Thread-specific Data with Thread Local Storage