CThreadPool::SetSize

Wywołanie tej metody, aby ustawić liczbę wątków w puli.

HRESULT STDMETHODCALLTYPE SetSize( 
   int nNumThreads  
) throw( );

Parametry

  • nNumThreads
    Żądana liczba wątków w puli.

    Jeśli nNumThreads jest ujemna, jego wartość bezwzględna mnoży się przez liczbę procesorów w komputerze, aby uzyskać całkowitą liczbę wątków.

    Jeśli nNumThreads wynosi zero, ATLS_DEFAULT_THREADSPERPROC zostanie pomnożona przez liczbę procesorów w komputerze, aby uzyskać całkowitą liczbę wątków.

Wartość zwracana

Zwraca wartość S_OK na powodzenie lub błąd HRESULT awarii.

Uwagi

Jeśli liczba określonych wątków jest mniejsza niż liczba wątków obecnie w puli, komunikatu zamknięcia obiektu umieszcza się w kolejce do pobrania przez wątek oczekujący.Gdy wątek oczekujący ściąga off kolejki wiadomości, powiadamia puli wątków i kończy procedurę wątku.Ten proces jest powtarzany, dopóki nie osiągnie liczbę wątków w puli określonej liczby lub aż wątek nie został zakończony w terminie określonym przez GetTimeout/SetTimeout.W takiej sytuacji metoda zwróci HRESULT odpowiadającego WAIT_TIMEOUT i wiadomości oczekujące zamknięcia jest anulowane.

Wymagania

Nagłówek: atlutil.h

Zobacz też

Informacje

Klasa CThreadPool

IThreadPoolConfig::SetSize

CThreadPool::GetSize