1#ifndef POSER_CORE_THREADPOOL_H
2#define POSER_CORE_THREADPOOL_H
62 ATTR_NONNULL((1)) ATTR_RETNONNULL;
73 CMETHOD ATTR_RETNONNULL ATTR_PURE;
105PSC_ThreadJob_canceled(
void);
153PSC_ThreadOpts_init(
int defThreads);
161PSC_ThreadOpts_fixedThreads(
int n);
172PSC_ThreadOpts_threadsPerCpu(
int n);
180PSC_ThreadOpts_maxThreads(
int n);
188PSC_ThreadOpts_fixedQueue(
int n);
198PSC_ThreadOpts_queuePerThread(
int n);
206PSC_ThreadOpts_maxQueue(
int n);
214PSC_ThreadOpts_minQueue(
int n);
224PSC_ThreadPool_init(
void);
232PSC_ThreadPool_active(
void);
267PSC_ThreadPool_done(
void);
An asynchronous task a thread job can wait for.
A job to be executed on a worker thread.
PSC_ThreadJob * PSC_ThreadJob_create(PSC_ThreadProc proc, void *arg, int timeoutTicks)
Create a new thread job.
void(* PSC_AsyncTaskJob)(PSC_AsyncTask *task)
A function to run for completing an asynchronous task.
Definition: threadpool.h:49
void(* PSC_ThreadProc)(void *arg)
A function to run on a worker thread.
Definition: threadpool.h:44