My Project
Loading...
Searching...
No Matches
libthread.h
Go to the documentation of this file.
1#ifndef _LIBTHREAD_THREADPOOL_H
2#define _LIBTHREAD_THREADPOOL_H
3
4namespace LibThread {
5 class ThreadPool;
6 class Job;
7 // thread pools
8 ThreadPool *createThreadPool(int threads, int prioThreads = 0);
9 void closeThreadPool(ThreadPool *pool, bool wait);
11 // job creation
12 Job *createJob(void (*func)(leftv result, leftv arg));
13 Job *createJob(void (*func)(long ndeps, Job **deps));
14 // job status
16 bool getJobCancelled();
17 bool getJobCancelled(Job *job);
18 void addJobArgs(Job *job, leftv arg);
19 void setJobData(Job *job, void *data);
20 void *getJobData(Job *job);
22 const char *getJobName();
23 void setJobName(const char *);
24 // Job scheduling
25 Job *startJob(ThreadPool *pool, Job *job, leftv arg);
26 Job *startJob(ThreadPool *pool, Job *job);
27// Job *scheduleJob(ThreadPool *pool, Job *job, long ndeps, Job **deps);
28 void cancelJob(Job *job);
29 void waitJob(Job *job);
30 // reference counting
31 void release(Job *job);
32 void release(ThreadPool *pool);
33 void retain(Job *job);
34 void retain(ThreadPool *pool);
35}
36
37#endif
return result
void retain(Job *job)
Job * getCurrentJob()
Definition shared.cc:2514
bool getJobCancelled()
Definition shared.cc:2640
Job * startJob(ThreadPool *pool, Job *job, leftv arg)
Definition shared.cc:2476
ThreadPool * createThreadPool(int threads, int prioThreads=0)
Definition shared.cc:2213
void setJobData(Job *job, void *data)
Definition shared.cc:2644
ThreadPool * getCurrentThreadPool()
Definition shared.cc:2240
void addJobArgs(Job *job, leftv arg)
Definition shared.cc:2660
void * getJobData(Job *job)
Definition shared.cc:2652
void closeThreadPool(ThreadPool *pool, bool wait)
Definition shared.cc:2324
Job * createJob(void(*func)(leftv result, leftv arg))
Definition shared.cc:2466
void release(Job *job)
const char * getJobName()
void setJobName(const char *)
leftv getJobResult(Job *job)
Definition shared.cc:2670
void cancelJob(Job *job)
Definition shared.cc:2509
void waitJob(Job *job)
Definition shared.cc:2585
wait
Definition si_signals.h:61
sleftv * leftv
Definition structs.h:53