24#ifndef __M_THREADPOOL_H__
25#define __M_THREADPOOL_H__
29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
31#include <mstdlib/thread/m_thread.h>
85struct M_threadpool_parent;
void M_threadpool_dispatch(M_threadpool_parent_t *parent, void(*task)(void *), void **task_args, size_t num_tasks)
M_threadpool_t * M_threadpool_create(size_t min_threads, size_t max_threads, M_uint64 idle_time_ms, size_t queue_max_size)
void M_threadpool_wait_available_thread(M_threadpool_parent_t *parent)
M_bool M_threadpool_parent_destroy(M_threadpool_parent_t *parent)
struct M_threadpool_parent M_threadpool_parent_t
Definition: m_threadpool.h:86
struct M_threadpool M_threadpool_t
Definition: m_threadpool.h:83
M_threadpool_parent_t * M_threadpool_parent_create(M_threadpool_t *pool)
size_t M_threadpool_available_slots(const M_threadpool_t *pool)
size_t M_threadpool_num_threads(const M_threadpool_t *pool)
void M_threadpool_dispatch_notify(M_threadpool_parent_t *parent, void(*task)(void *), void **task_args, size_t num_tasks, void(*finished)(void *))
void M_threadpool_destroy(M_threadpool_t *pool)
void M_threadpool_parent_wait(M_threadpool_parent_t *parent)