cOMS/Threads/ThreadPool.h
Dennis Eichhorn 02ee4480ad
Some checks failed
CI / code-tests: ${{ matrix.os }} / ${{ matrix.platform }} (ubuntu-latest, x64) (push) Has been cancelled
CI / code-tests: ${{ matrix.os }} / ${{ matrix.platform }} (ubuntu-latest, x86) (push) Has been cancelled
CI / general_module_workflow_c (push) Has been cancelled
update
2024-05-29 05:12:23 +02:00

31 lines
534 B
C++
Executable File

#ifndef THREADS_THREAD_POOL_H
#define THREADS_THREAD_POOL_H
#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
#include <windows.h>
#else
#include <unistd.h>
#include <pthread.h>
#endif
#include "OSWrapper.h"
#include "Job.h"
namespace Threads
{
struct ThreadPool {
Job *work_first;
Job *work_last;
pthread_mutex_t work_mutex;
pthread_cond_t work_cond;
pthread_cond_t working_cond;
size_t working_cnt;
size_t thread_cnt;
bool stop;
};
}
#endif