共用方式為


RtwqAllocateSerialWorkQueue 函式 (rtworkq.h)

在保證串行化工作專案的另一個工作佇列之上建立虛擬工作佇列。 序列工作佇列會包裝現有的多線程工作佇列。 序列工作佇列會強制執行先進先出 (FIFO) 執行順序。

語法

HRESULT RtwqAllocateSerialWorkQueue(
  [in]  DWORD workQueueIdIn,
  [out] DWORD *workQueueIdOut
);

參數

[in] workQueueIdIn

現有工作佇列的標識碼。 這必須是多線程佇列或其他序列工作佇列。 您可以使用下列任一項:

[out] workQueueIdOut

接收新序列工作佇列的標識碼。 將工作專案排入佇列時,請使用此標識碼。

傳回值

此函式可以傳回下列其中一個值。

傳回碼 描述
S_OK
此函數已成功。
E_FAIL
應用程式超過工作佇列的數目上限。
RTWQ_E_SHUTDOWN
應用程式未呼叫 RtwqStartup,或應用程式已呼叫 RtwqShutdown

備註

當您使用工作佇列完成時,請呼叫 RtwqUnlockWorkQueue

多線程佇列會使用線程集區,以減少管線中的線程總數。 不過,它們不會串行化工作專案。 序列工作佇列可讓應用程式取得線程集區的優點,而不需要執行自己的工作專案的手動串行化。

規格需求

需求
最低支援的用戶端 Windows 8.1 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 rtworkq.h
程式庫 Rtworkq.lib
Dll RTWorkQ.dll

另請參閱

RTWQ_WORKQUEUE_TYPE