共用方式為


CThreadPool::SetSize

呼叫這個方法會設定執行緒的數目在集區中。

HRESULT STDMETHODCALLTYPE SetSize(
   int nNumThreads 
) throw( );

參數

  • nNumThreads
    執行緒的要求數目的集區。

    如果 nNumThreads 是負數,則的絕對值相乘會以處理器數目的電腦上取得執行緒總數。

    如果 nNumThreads 為零, ATLS_DEFAULT_THREADSPERPROC 要乘以的處理器數目的電腦上取得執行緒總數。

傳回值

如果成功則傳回 S_OK 或在失敗的錯誤 HRESULT。

備註

如果指定的小於的執行緒數目是目前執行緒的數目小於在集區,則物件在等候中的執行緒將會採用的佇列會將關機訊息釋放。 當等候中的執行緒提取訊息佇列時,會通知執行緒集區並結束執行緒程序。 這個程序會重複執行,直到執行緒數目在集區到達指定的數字,或者執行緒 GetTimeout未在指定的持續期間結束/SetTimeout。 在這種情況下方法都會傳回 HRESULT 與 WAIT_TIMEOUT ,然後暫止的關機訊息中移除。

需求

Header: 函式

請參閱

參考

CThreadPool 類別

IThreadPoolConfig::SetSize

CThreadPool::GetSize