Thread.Suspend, coleta de lixo e pontos de seguro

Quando você chamar Thread.Suspend em um segmento, o sistema de anotações que uma suspensão do thread foi solicitada e permite que o thread de execução até que ele atingiu um ponto de seguro antes de realmente suspender o thread. Um ponto de seguro para um segmento é um ponto em sua execução no qual lixo coleção pode ser executada.

Quando um ponto de seguro for atingido, o tempo de execução garante que o thread suspenso não fará qualquer progresso adicional no código gerenciado. Um thread em execução fora do código gerenciado é sempre seguro para coleta de lixo e sua execução continua até que ele tenta continuar a execução de código gerenciado.

Observação

Para executar uma coleta de lixo, o runtime deve suspender todos os threads, exceto o segmento que está realizando a coleção.Cada segmento deve ser colocado em um ponto de seguro antes que ele pode ser suspenso.

Consulte também

Referência

Thread

GC

Conceitos

Gerenciamento automático de memória

Outros recursos

Threads gerenciadas