Erro em runtime de C R6016
não há espaço suficiente para dados do thread
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á vários motivos possíveis para esse erro, mas muitas vezes ele é causado por uma condição de memória extremamente baixa, um bug no aplicativo ou um bug em um suplemento ou extensão usado pelo aplicativo.
Você pode tentar corrigir esse erro com estas etapas:
- Feche outros aplicativos em execução ou reinicie o computador para liberar 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 extensões ou suplementos usados pelo aplicativo.
- Verifique o Windows Update no Painel de Controle para ver se há atualizações de software.
- Verifique se há uma versão atualizada do programa. Entre em contato com o fornecedor do aplicativo se o problema persistir.
Informações para Programadores
Esse erro ocorre porque o programa não recebeu memória suficiente do sistema operacional para concluir uma chamada _beginthread ou _beginthreadex
, ou o armazenamento de thread local não foi inicializado por _beginthread
ou _beginthreadex
.
Quando um thread novo é iniciado, a biblioteca deve criar um banco de dados interno para o thread. Se o banco de dados não pode ser expandido usando memória fornecida pelo sistema operacional, ele não inicia e o processo de chamada para. Isso pode acontecer quando muitos threads foram criados pelo processo, ou se o armazenamento de thread local se esgotou.
Recomendamos que um executável que chama a biblioteca de runtime C (CRT) use _beginthreadex
para a criação do thread, em vez da API do Windows CreateThread
. _beginthreadex
inicializa o armazenamento estático interno usado por muitas funções CRT no armazenamento de thread local. Se você usar CreateThread
para criar um thread, o CRT pode finalizar o processo com R6016 quando for feita uma chamada para uma função CRT que exija o armazenamento estático interno inicializado.