Funzione RtwqAllocateSerialWorkQueue (rtworkq.h)
Crea una coda di lavoro virtuale sopra un'altra coda di lavoro che è garantita la serializzazione degli elementi di lavoro. La coda di lavoro seriale esegue il wrapping di una coda di lavoro multithreading esistente. La coda di lavoro seriale applica un ordine di esecuzione FIFO (First-In First-Out).
Sintassi
HRESULT RtwqAllocateSerialWorkQueue(
[in] DWORD workQueueIdIn,
[out] DWORD *workQueueIdOut
);
Parametri
[in] workQueueIdIn
Identificatore di una coda di lavoro esistente. Deve trattarsi di una coda multithreading o di un'altra coda di lavoro seriale. È possibile usare una delle opzioni seguenti:
- Coda di lavoro predefinita (RTWQ_STANDARD_WORKQUEUE). Vedere RTWQ_WORKQUEUE_TYPE.
- Coda multithreading della piattaforma (RTWQ_MULTITHREADED_WORKQUEUE). Vedere RTWQ_WORKQUEUE_TYPE.
- Coda multithreading restituita dalla funzione RtwqLockSharedWorkQueue .
- Coda seriale creata dalla funzione RtwqAllocateSerialWorkQueue .
[out] workQueueIdOut
Riceve un identificatore per la nuova coda di lavoro seriale. Usare questo identificatore durante l'accodamento degli elementi di lavoro.
Valore restituito
Questa funzione può restituire uno di questi valori.
Codice restituito | Descrizione |
---|---|
|
Funzione completata. |
|
L'applicazione ha superato il numero massimo di code di lavoro. |
|
L'applicazione non ha chiamato RtwqStartup o l'applicazione ha già chiamato RtwqShutdown. |
Commenti
Al termine dell'uso della coda di lavoro, chiamare RtwqUnlockWorkQueue.
Le code multithreading usano un pool di thread, che può ridurre il numero totale di thread nella pipeline. Tuttavia, non serializzano gli elementi di lavoro. Una coda di lavoro seriale consente all'applicazione di ottenere i vantaggi del pool di thread, senza dover eseguire la serializzazione manuale dei propri elementi di lavoro.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8.1 [solo app desktop] |
Server minimo supportato | Windows Server 2012 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | rtworkq.h |
Libreria | Rtworkq.lib |
DLL | RTWorkQ.dll |