Partilhar via


Funções de biblioteca c em tempo de execução para controle de thread

Todos os programas do Win32 possuem ao menos um thread.Qualquer thread pode criar thread s adicionais.Um thread pode concluir seu trabalho rapidamente e, em seguida, encerre ou pode permanecer ativo durante a vida útil do programa.

O LIBCMT e MSVCRT C em time de execução bibliotecas oferecem as seguintes funções para criação do thread e o encerramento: _beginthread, _beginthreadex e _endthread, _endthreadex.

The _beginthread e _beginthreadex funções de criar um novo thread e retornam um identificador de thread se a operação for bem-sucedida. O thread terminará automaticamente se ele conclui a execução ou ele pode terminar propriamente dito com uma telefonar para _endthread ou _endthreadex.

Observação:

Se você for para telefonar C em time de execução rotinas de programa construído com Libcmt.lib, você deve iniciar os threads com o _beginthread ou _beginthreadex função. Não use o Win32 funções ExitThread e CreateThread. Usando SuspendThread pode levar a um deadlock quando mais de um thread é bloqueado aguardando o thread suspenso concluir seu acesso a um C em time de execução estrutura de dados.

Funções _beginthread e _beginthreadex

The _beginthread e _beginthreadex criar um novo funções thread. Um thread compartilha os segmentos de código e dados de um processo com outros segmentos no processo, mas tem seu próprio valores do Registro exclusivas, espaço de pilha e endereço da instrução corrente.O sistema dá time da CPU a cada thread, para que todos os threads em um processo podem executar simultaneamente.

_beginthread e _beginthreadex são semelhantes a CreateThread função na Win32 API, mas possui essas diferenças:

  • Inicializar a determinados C em time de execução biblioteca de variáveis.Isso é importante apenas se você usar a biblioteca de time de execução C em seus segmentos.

  • CreateThread ajuda a fornece controle sobre os atributos de segurança. Você pode usar esta função para iniciar um segmento em um estado suspenso.

_beginthread e _beginthreadex retorne um identificador para o novo thread se for bem-sucedido ou um código de erro se ocorreu um erro.

Funções _endthread e _endthreadex

The _endthread função encerra um thread criado por _beginthread (e da mesma forma, _endthreadex Finaliza um thread criado por _beginthreadex). Threads de terminar automaticamente quando termina._endthread e _endthreadex são úteis para desligamento condicional em um thread. Um thread dedicado a comunicações de processamento, por exemplo, pode encerrar se não puder obter controle da porta de comunicação.

Consulte também

Conceitos

Multithreading com C e Win32