Segmentação no .NET Compact Framework

The .NET Compact Framework suporta principais funcionalidades de segmentação mas não oferece suporte os seguintes recursos no completo .NET Framework:

  • Acesso à pilha compactada no segmento em vigor.

  • A representação gerenciado do Win32 OVERLAPPED estrutura.

  • Classes que gerenciam o contexto de execução.

  • Uso de sinais.

  • Atributos de estado do segmento.

  • A maioria das operações de Wait Handle, exceto obter o handle.

The .NET Compact Framework suporta o uso do ThreadStart delegado para uso com o Thread.Start método e oferece suporte usando o TimerCallback delegado com um Timer.

Você pode especificar parâmetros de time limite, usando os seguintes métodos de segmentação:

Alterações em Pools de segmentos

No .NET Compact Framework versão 1,0, o número máximo padrão de thread s em um thread pool é 256 thread s com um dimensionar de pilha de 64 KB. No .NET Compact Framework versão 2,0 e versões posteriores, esse limite é reduzido a um máximo de 25 segmentos com um dimensionar de pilha de 128 KB, mais parecido com a funcionalidade de completo .NET Framework.

Uma solicitação HTTP irá falhar e lançar uma exceção se nenhum segmento estiver disponível no pool de segmento.A tabela a seguir mostra as principais exceções nessa situação.

Exceção

Condição

OutOfMemoryException

Não é possível enfileirar o callback do usuário.

WebException

Não há segmentos suficientes no pool de segmentos para concluir a operação.

Você pode evitar o esgotamento de segmentos, reduzindo o número de solicitações simultâneas da Web, ou aumentando o máximo de segmentos permitidos no pool de segmentos.The .NET Compact Framework 2,0 oferece suporte a SetMaxThreads método. Especifique seus parâmetros conforme descrito na tabela a seguir.

Parâmetro

Descrição

workerThreads

O número máximo de segmentos de trabalho no pool de segmentos.Isso pode ser qualquer valor.

completionPortThreads

O número máximo de segmentos assíncronos no pool de segmentos.The .NET Compact Framework atualmente ignora esse valor, mas deve ser definido entre 1 e 1.000. Para compatibilidade futura, 500 é recomendável porque é o valor padrão para o total .NET Framework.

Para dispositivos que executam .NET Compact Framework 1.0, você pode diminuir o máximo de segmentos no pool de segmentos permitidos, alterando uma configuração do registro. Defina MaxThreads na chave CFROOT\ThreadPool para o valor desejado.Observe que essa chave do registro não é usada por versões mais recentes de .NET Compact Framework.

Consulte também

Referência

System.Threading

Outros recursos

Desenvolvimento de aplicativos no .NET Compact Framework