Partilhar via


Erro de tempo de execução C R6016

não há espaço suficiente para dados de thread

Observações

Observação

Se você encontrar essa mensagem de erro durante a execução de um aplicativo, o aplicativo foi desligado porque tem um problema de memória interna. Há muitas razões possíveis para esse erro, mas muitas vezes ele é causado por uma condição de memória extremamente baixa, um bug no aplicativo ou por um bug em um suplemento ou extensão usado pelo aplicativo.

Você pode tentar estas etapas para corrigir esse erro:

  • Feche outras aplicações em execução ou reinicie o computador para libertar memória.
  • Use a página Aplicativos e Recursos ou Programas e Recursos no Painel de Controle para reparar ou reinstalar o aplicativo.
  • Use a página Aplicativos e Recursos ou Programas e Recursos no Painel de Controle para remover, reparar ou reinstalar suplementos ou extensões usados pelo aplicativo.
  • Verifique se há atualizações de software no Windows Update no Painel de Controle.
  • Verifique se há uma versão atualizada do aplicativo. Entre em contato com o fornecedor do aplicativo se o problema persistir.

Informação para Programadores

Este erro ocorre porque o programa não recebeu memória suficiente do sistema operacional para concluir uma _beginthread ou _beginthreadex chamada, ou o armazenamento local de thread não foi inicializado por _beginthread ou _beginthreadex.

Quando um novo thread é iniciado, a biblioteca deve criar um banco de dados interno para o thread. Se o banco de dados não puder ser expandido usando a memória fornecida pelo sistema operacional, o thread não será iniciado e o processo de chamada será interrompido. Isso pode acontecer quando muitos threads foram criados pelo processo ou se o armazenamento local de threads tiver sido esgotado.

Recomendamos que um executável que chama a biblioteca de tempo de execução C (CRT) deve usar _beginthreadex para a criação de threads em vez da API CreateThreaddo Windows. _beginthreadex inicializa o armazenamento interno estático usado por muitas funções CRT no armazenamento local de thread. Se você usar CreateThread para criar um thread, o CRT pode encerrar o processo com R6016 quando uma chamada é feita para uma função CRT que requer armazenamento estático interno inicializado.