Kelas CQueue

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Templat kelas CQueue mengimplementasikan antrean sederhana berukuran statis.

Metode Publik Deskripsi
Antrean Metode konstruktor.
~CQueue Metode destruktor.
GetQueueObject Mengambil item berikutnya dari antrean.
PutQueueObject Letakkan item ke dalam antrean.

Keterangan

Konstruktor kelas menentukan ukuran antrean. Gunakan metode CQueue::P utQueueObject untuk meletakkan item pada antrean, dan metode CQueue::GetQueueObject untuk menghapus antrean item. Jika antrean penuh, metode PutQueueObject memblokir hingga item dihapus antreannya. Jika antrean kosong, GetQueueObject memblokir hingga item diantrekan. Parameter templat menentukan jenis item. Contohnya:

CQueue<int> number_queue;
number_queue.PutQueueObject(7);

Kelas ini menggunakan dua semaphore untuk mengontrol operasi antrean, semaphore "get" dan semaphore "put". Metode GetQueueObject menunggu semaphore "get" (menggunakan fungsi WaitForSingleObject ) dan melepaskan semaphore "put" (menggunakan fungsi ReleaseSemaphore ). Metode PutQueueObject menunggu pada semaphore "put" dan melepaskan semaphore "get". Kelas ini menggunakan bagian penting untuk menserialisasikan operasi antrean di antara beberapa utas.

Persyaratan

Persyaratan Nilai
Header
Wxutil.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)