#ifndef __THREADPOOL_H__
#define __THREADPOOL_H__

#include "type.h"

typedef struct s_ThreadPool ThreadPool;

typedef void (*WorkItemDelegate) (void *context);

ThreadPool * threadpool_new (void);
void threadpool_destroy (void *ptr);
ThreadPool * threadpool_getInstance (void);
bool threadpool_queueUserWorkItem (ThreadPool *pool, WorkItemDelegate delegate, void *context);

#endif
