Castor3D 0.16.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor::AsyncJobQueue

#include <AsyncJobQueue.hpp>

Graphe d'héritage de castor::AsyncJobQueue:
Inheritance graph
[légende]
Graphe de collaboration de castor::AsyncJobQueue:
Collaboration graph
[légende]

Types publics

using Job = castor::Function< void() >
 
using JobArray = Vector< Job >
 

Fonctions membres publiques

CU_API AsyncJobQueue (size_t count)
 Constructeur, initialise le pool au nombre de threads donné.
 
CU_API ~AsyncJobQueue () noexcept
 Destructeur.
 
CU_API void pushJob (Job job)
 donne à un thread de travail la tâche donnée.
 
CU_API void waitAll ()
 Attend que tous les jobs soient terminés.
 
CU_API void finish ()
 Attend que tous les jobs soient terminés, prévient tout nouveau job, iles juste jeté.
 
CU_API void reset ()
 Réinitialise la file à son état initial.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::NonMovable
 NonMovable ()=default
 Constructeur.
 
 ~NonMovable () noexcept=default
 Destructeur.
 

Documentation des définitions de type membres

◆ Job

◆ JobArray

Documentation des constructeurs et destructeur

◆ AsyncJobQueue()

CU_API castor::AsyncJobQueue::AsyncJobQueue ( size_t count)
explicit

Constructeur, initialise le pool au nombre de threads donné.

Paramètres
[in]countLe nombre de threads du pool.

◆ ~AsyncJobQueue()

CU_API castor::AsyncJobQueue::~AsyncJobQueue ( )
noexcept

Destructeur.

Documentation des fonctions membres

◆ finish()

CU_API void castor::AsyncJobQueue::finish ( )

Attend que tous les jobs soient terminés, prévient tout nouveau job, iles juste jeté.

◆ pushJob()

CU_API void castor::AsyncJobQueue::pushJob ( Job job)

donne à un thread de travail la tâche donnée.

Remarques
Si aucun thread n'est disponible, attend que l'un d'eux finisse sa tâche.
Paramètres
[in]jobLa tâche.

◆ reset()

CU_API void castor::AsyncJobQueue::reset ( )

Réinitialise la file à son état initial.

◆ waitAll()

CU_API void castor::AsyncJobQueue::waitAll ( )

Attend que tous les jobs soient terminés.


La documentation de cette classe a été générée à partir du fichier suivant :