/*******************************************************************//**
@file include/ut0wqueue.h
A work queue
Created 4/26/2006 Osku Salerma
************************************************************************/
/*******************************************************************//**
A Work queue. Threads can add work items to the queue and other threads can
wait for work items to be available and take them off the queue for
processing.
************************************************************************/
#pragma once
#include"ut0list.h" #include"mem0mem.h"
// Forward declaration struct ib_list_t;
/** Work queue */ struct ib_wqueue_t
{ /** Mutex protecting everything */
mysql_mutex_t mutex; /** Work item list */
ib_list_t *items; /** ib_list_len(*items) */
size_t length;
};
/****************************************************************//**
Create a new work queue.
@return work queue */
ib_wqueue_t*
ib_wqueue_create(); /*===============*/
/****************************************************************//**
Free a work queue. */ void
ib_wqueue_free( /*===========*/
ib_wqueue_t* wq); /*!< in: work queue */
/** Add a work item to the queue. @param[in,out]wqworkqueue @param[in]itemworkitem @param[in,out]heapmemoryheaptouseforallocatinglistnode
@param[in] wq_locked work queue mutex locked */ void
ib_wqueue_add(ib_wqueue_t* wq, void* item, mem_heap_t* heap, bool wq_locked = false);
/** Check if queue is empty. @paramwqwaitqueue
@return whether the queue is empty */ bool ib_wqueue_is_empty(ib_wqueue_t* wq);
/******************************************************************** ReturnfirstitemonworkqueueorNULLifqueueisempty
@return work item or NULL */ void*
ib_wqueue_nowait( /*=============*/
ib_wqueue_t* wq); /*<! in: work queue */
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.