Classe CQueue
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O modelo de classe CQueue implementa uma fila simples e dimensionada estaticamente.
Métodos públicos | Descrição |
---|---|
CQueue | Método de construtor. |
~CQueue | Método de destruidor. |
GetQueueObject | Recupera o próximo item da fila. |
PutQueueObject | Coloca um item na fila. |
Comentários
O construtor de classe especifica o tamanho da fila. Use o CQueue::P utQueueObject para colocar um item na fila e o método CQueue::GetQueueObject para remover a fila de um item. Se a fila estiver cheia, o método PutQueueObject será bloqueado até que um item seja descontinuado. Se a fila estiver vazia, o GetQueueObject será bloqueado até que um item seja enfileirado. O parâmetro de modelo especifica o tipo de item. Por exemplo:
CQueue<int> number_queue;
number_queue.PutQueueObject(7);
A classe usa dois semáforos para controlar operações de enfileiramento, um semáforo "get" e um semáforo "put". O método GetQueueObject aguarda o semáforo "get" (usando a função WaitForSingleObject ) e libera o semáforo "put" (usando a função ReleaseSemaphore ). O método PutQueueObject aguarda o semáforo "put" e libera o semáforo "get". A classe usa uma seção crítica para serializar operações de enfileiramento entre vários threads.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|