Informazioni per il nuovo metodo GetMinThreads e il metodo SetMinThreads nuovo della classe ThreadPool in .NET Framework 1.1

Traduzione articoli Traduzione articoli
Identificativo articolo: 827419 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

INTRODUZIONE

Microsoft .NET Framework 1.1 aggiunge due nuovi metodi che seguono:
  • SetMinThreads
  • GetMinThreads
Questi due nuovi metodi sono per la classe ThreadPool . Il metodo SetMinThreads consente di aumentare il numero di thread di lavoro inattivi o il numero di thread di completamento I/O che gestisce la classe ThreadPool . Il metodo GetMinThreads consente di ottenere le impostazioni correnti.

Informazioni

Per impostazione predefinita, il numero minimo di thread inattivi gestiti per la classe ThreadPool è come indicato di seguito:
  • Un thread per ogni processore del computer
  • Un thread per ogni lavoro thread categoria
  • Un thread per ogni categoria I/O
Il modo in cui thread vengono allocati potrebbe causare un collo di bottiglia, se una determinata applicazione richiede improvvisamente un numero maggiore di thread. Per evitare questo problema, è possibile utilizzare il metodo SetMinThreads per aumentare il numero di thread di lavoro inattivi e il numero di thread di completamento I/O che gestisce la classe ThreadPool . Utilizzare il metodo GetMinThreads per ottenere le impostazioni minime corrente.

Metodo SetMinThreads

  • Nell'esempio di codice riportato di seguito fornisce la definizione di SetMinThreads . metodo
     
    public static bool SetMinThreads(int workerThreads, int completionPortThreads)
    {
     return SetMinThreadsNative(workerThreads, completionPortThreads);
    }
  • È possibile aggiungere il metodo SetMinThreads per aumentare il numero di lavoro inattivo thread che aumenta il numero di thread di completamento I/O gestiti dalla classe ThreadPool .
  • Il metodo SetMinThreads imposta il numero totale di thread inattivi, indipendentemente dal numero di processori che il computer dispone di.
  • Se si specifica un numero negativo o un numero di dimensioni maggiore rispetto al numero massimo di thread di classe ThreadPool attivi che è possibile ottenere dal metodo GetMaxThreads della classe ThreadPool , il metodo di SetMinThreads restituisce false e non viene modificato uno dei valori minimi.

Metodo GetMinThreads

  • Nell'esempio di codice riportato di seguito fornisce la definizione del metodo GetMinThreads .
    public static void GetMinThreads(out int workerThreads, out int completionPortThreads)
    {
     GetMinThreadsNative(out workerThreads, out completionPortThreads);
    }
  • È possibile aggiungere il metodo GetMinThreads alla classe ThreadPool come parte di .NET Framework 1.1 per ottenere il numero di thread di lavoro inattivi e il numero di thread di completamento I/O gestiti dalla classe ThreadPool .
  • Il metodo GetMinThreads Ottiene il numero totale di thread inattivi indipendentemente dal numero di processori che dispone di un computer.

Esempi di codice che utilizzano il metodo SetMinThreads e il metodo GetMinThreads

Negli esempi di codice seguenti, il numero minimo di lavoro inattivo thread è impostata su 4. Il valore originale per il numero minimo di thread di completamento I/O inattivi viene mantenuto.

Microsoft Visual Basic .NET minWorker
Dim minWorker, minIOC As Integer
        ' Get the current settings.
        ThreadPool.GetMinThreads(minWorker, minIOC)
        ' Change the minimum number of Worker threads to 4 but keep
        ' the old setting for the minimum I/O completion threads.
        If ThreadPool.SetMinThreads(4, minIOC) Then
            ' The minimum number of threads is set successfully.
        Else
            ' The minimum number of threads is not changed.
        End If
Microsoft Visual C# .NET
int minWorker, minIOC;
        // Get the current settings.
        ThreadPool.GetMinThreads(out minWorker, out minIOC);
        // Change the minimum number of Worker threads to 4 but keep
        // the old setting for minimum I/O completion threads.
        if (ThreadPool.SetMinThreads(4, minIOC))
        {
            // The minimum number of threads is set successfully.
        }
        else
        {
            // The minimum number of threads is not changed.
        }

Riferimenti

Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
810259FIX: SetMinThreads GetMinThreads API aggiunti e common language runtime classe ThreadPool
315460Come inviare un elemento di lavoro al pool di thread utilizzando Visual C# .NET

Proprietà

Identificativo articolo: 827419 - Ultima modifica: venerdì 12 novembre 2004 - Revisione: 1.3
Le informazioni in questo articolo si applicano a:
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.1
Chiavi: 
kbmt kbinfo kbhowto kbthread kbperformance kbcommandline KB827419 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 827419
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com