Exemplo de tecnologia de coleta de Lixo

Esta amostra apresenta aos desenvolvedores lixo coleção no .NET estrutura e mostra recursos de design de classes que funcionam bem em um ambiente de coleta de lixo.O exemplo também mostra como um aplicativo pode controlar alguns do comportamento do coletor de lixo, por exemplo, forçando coleções, promovendo objetos e trabalhando com referências fracas a objetos.

Para obter informações sobre como usar os exemplos, consulte os tópicos a seguir:

Download sample

Para compilação o utilizando o aviso de comando de exemplo

  1. Abrir um janela do aviso de comando e navegar até um de subpastas sob o diretório GarbageCollection específicos do linguagem.

  2. Tipo de MSBuild GarbageCollectionCS.sln or MSBuild GarbageCollectionVB.sln na linha de comando, dependendo de sua escolha de linguagem de programação.Por exemplo, no diretório C:\Documents and Setttings\ O nome de usuário\Meus Documentos\Exemplos\Technologies\GarbageCollection\VB, tipo de MSBuild GarbageCollectionVB.sln para criar a versão do Visual Basic.

Para compilação a amostra usando o Visual Studio

  1. Abra o Windows Explorer e navegar para um do específico a um linguagem subpastas sob o diretório GarbageCollection.

  2. clicar duas vezes no ícone para GarbageCollectionCS.sln ou GarbageCollectionVB.sln, dependendo de sua escolha de linguagem, de programação para em em aberto o arquivo em Visual Studio 2005.

  3. Sobre o Compilação menu, clicar Criar solução.

Para executar este exemplo

  1. Abrir um janela do aviso de comando e navegar até o diretório que contém o executável de novo.

  2. Digite GarbageCollection.exe na linha de comando.

    Observação:

    O exemplo é um aplicativo de console.Você deve iniciá-la a partir da linha de comando para exibir sua saída.

Requisitos

.NET estrutura versão: 2.0, 1.1, 1.0

Comentários

No ambiente do tempo de execução gerenciado, a pilha de coleta de lixo gerencia todos os objetos de classe.Esse heap monitora o tempo de vida de objetos e libera-las somente quando nenhuma parte do programa faz referência os objetos.Isso garante que os objetos nunca vazam memória e que referências a objetos sempre são válidas.Para demonstrar que essa finalização ocorre em um thread especial, o exemplo utiliza o Thread classe para recuperar o código hash de segmentos. Ela revela que o código hash retornado por uma telefonar de método normal tem um valor diferente daquele retornado durante a finalização.

No código-fonte, o exemplo faz referência a System.Threading namespace para recuperar os valores de código hash para os respectivos threads em que os métodos do aplicativo e a coleta de lixo executado.

Consulte também

Referência

Dispose

Finalize

GC

System.Threading

Thread

WeakReference

Outros recursos

Coleta de Lixo