Bagikan melalui


Fungsi RtwqAllocateSerialWorkQueue (rtworkq.h)

Membuat antrean kerja virtual di atas antrean kerja lain yang dijamin untuk menserialisasikan item kerja. Antrean kerja serial membungkus antrean kerja multithreaded yang ada. Antrean kerja serial memberlakukan urutan eksekusi first-in, first-out (FIFO).

Sintaks

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

Parameter

[in] workQueueIdIn

Pengidentifikasi antrean kerja yang ada. Ini harus berupa antrean multithreaded atau antrean kerja serial lainnya. Salah satu hal berikut ini dapat digunakan:

  • Antrean kerja default (RTWQ_STANDARD_WORKQUEUE). Lihat RTWQ_WORKQUEUE_TYPE.
  • Antrean multithread platform (RTWQ_MULTITHREADED_WORKQUEUE). Lihat RTWQ_WORKQUEUE_TYPE.
  • Antrean multithread yang dikembalikan oleh fungsi RtwqLockSharedWorkQueue .
  • Antrean serial yang dibuat oleh fungsi RtwqAllocateSerialWorkQueue .

[out] workQueueIdOut

Menerima pengidentifikasi untuk antrean kerja serial baru. Gunakan pengidentifikasi ini saat mengantre item kerja.

Nilai kembali

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Fungsi berhasil.
E_FAIL
Aplikasi melebihi jumlah maksimum antrean kerja.
RTWQ_E_SHUTDOWN
Aplikasi tidak memanggil RtwqStartup, atau aplikasi telah disebut RtwqShutdown.

Keterangan

Setelah selesai menggunakan antrean kerja, panggil RtwqUnlockWorkQueue.

Antrean multithread menggunakan kumpulan utas, yang dapat mengurangi jumlah total utas dalam alur. Namun, mereka tidak membuat serial item kerja. Antrean kerja serial memungkinkan aplikasi untuk mendapatkan manfaat dari kumpulan utas, tanpa perlu melakukan serialisasi manual item kerjanya sendiri.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2012 R2 [hanya aplikasi desktop]
Target Platform Windows
Header rtworkq.h
Pustaka Rtworkq.lib
DLL RTWorkQ.dll

Lihat juga

RTWQ_WORKQUEUE_TYPE