#pragma once #include #include "task_queue.h" typedef struct __pthread_pool_t pthread_pool_t; typedef struct __pthread_pool_attr_t pthread_pool_attr_t; pthread_pool_attr_t *pthread_pool_attr_init( pthread_attr_t *attr, int size, int min, int max, int step); void pthread_pool_attr_destroy( pthread_pool_attr_t *attr ); int pthread_pool_init( pthread_pool_t** pool, pthread_pool_attr_t *attr); int pthread_pool_destroy( pthread_pool_t *pool ); int pthread_pool_add_task( pthread_pool_t* pool, task_t *task ); int get_queue_size( pthread_pool_t *pool ); int pthread_pool_resize( pthread_pool_t *pool, int step );