Detailed Description
The thread pool
Definition at line 52 of file tpi_tnycthrd.c.
Data Fields | |
int | nthreads |
int | queuesize |
thrd_t * | threads |
SCIP_JOBQUEUE * | jobqueue |
SCIP_JOBQUEUE * | currentjobs |
SCIP_JOBQUEUE * | finishedjobs |
int | currworkingthreads |
SCIP_Bool | blockwhenfull |
int | currentid |
SCIP_Bool | shutdown |
SCIP_Bool | queueopen |
SCIP_LOCK | poollock |
SCIP_CONDITION | queuenotempty |
SCIP_CONDITION | queuenotfull |
SCIP_CONDITION | queueempty |
SCIP_CONDITION | jobfinished |
Field Documentation
◆ nthreads
int SCIP_ThreadPool::nthreads |
number of threads in the pool
Definition at line 55 of file tpi_tnycthrd.c.
◆ queuesize
int SCIP_ThreadPool::queuesize |
the total number of items to enter the queue
Definition at line 56 of file tpi_tnycthrd.c.
Referenced by jobQueueAddJob().
◆ threads
thrd_t* SCIP_ThreadPool::threads |
the threads included in the pool
Definition at line 59 of file tpi_tnycthrd.c.
◆ jobqueue
SCIP_JOBQUEUE* SCIP_ThreadPool::jobqueue |
the job queue
Definition at line 60 of file tpi_tnycthrd.c.
Referenced by freeJobQueue(), and jobQueueAddJob().
◆ currentjobs
SCIP_JOBQUEUE* SCIP_ThreadPool::currentjobs |
the jobs currently being processed on a thread. Only a single job is allowed per thread.
Definition at line 61 of file tpi_tnycthrd.c.
◆ finishedjobs
SCIP_JOBQUEUE* SCIP_ThreadPool::finishedjobs |
finished jobs that are not yet collected
Definition at line 63 of file tpi_tnycthrd.c.
◆ currworkingthreads
int SCIP_ThreadPool::currworkingthreads |
the threads currently processing jobs
Definition at line 64 of file tpi_tnycthrd.c.
◆ blockwhenfull
SCIP_Bool SCIP_ThreadPool::blockwhenfull |
indicates that the queue can only be as large as nthreads
Definition at line 65 of file tpi_tnycthrd.c.
◆ currentid
int SCIP_ThreadPool::currentid |
current job id
Definition at line 66 of file tpi_tnycthrd.c.
◆ shutdown
SCIP_Bool SCIP_ThreadPool::shutdown |
indicates whether the pool needs to be shutdown
Definition at line 69 of file tpi_tnycthrd.c.
Referenced by freeJobQueue().
◆ queueopen
SCIP_Bool SCIP_ThreadPool::queueopen |
indicates whether the queue is open
Definition at line 70 of file tpi_tnycthrd.c.
Referenced by freeJobQueue().
◆ poollock
SCIP_LOCK SCIP_ThreadPool::poollock |
mutex to allow read and write of the pool features
Definition at line 73 of file tpi_tnycthrd.c.
◆ queuenotempty
SCIP_CONDITION SCIP_ThreadPool::queuenotempty |
condition to broadcast the queue has jobs
Definition at line 74 of file tpi_tnycthrd.c.
Referenced by jobQueueAddJob().
◆ queuenotfull
SCIP_CONDITION SCIP_ThreadPool::queuenotfull |
condition to broadcast the queue is not full
Definition at line 75 of file tpi_tnycthrd.c.
◆ queueempty
SCIP_CONDITION SCIP_ThreadPool::queueempty |
condition to broadcast that the queue is empty
Definition at line 76 of file tpi_tnycthrd.c.
◆ jobfinished
SCIP_CONDITION SCIP_ThreadPool::jobfinished |
condition to broadcast that a job has been finished
Definition at line 77 of file tpi_tnycthrd.c.