⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadpool.h

📁 同时支持windows和Linux的线程池代码
💻 H
字号:
/** * threadpool.h * * This file declares the functionality associated with * your implementation of a threadpool. */#ifndef __threadpool_h__#define __threadpool_h__#ifdef __cplusplusextern "C" {#endif// maximum number of threads allowed in a pool#define MAXT_IN_POOL 200// You must hide the internal details of the threadpool// structure from callers, thus declare threadpool of type "void".// In threadpool.c, you will use type conversion to coerce// variables of type "threadpool" back and forth to a// richer, internal type.  (See threadpool.c for details.)typedef void *threadpool;// "dispatch_fn" declares a typed function pointer.  A// variable of type "dispatch_fn" points to a function// with the following signature:// //     void dispatch_function(void *arg);typedef void (*dispatch_fn)(void *);/** * create_threadpool creates a fixed-sized thread * pool.  If the function succeeds, it returns a (non-NULL) * "threadpool", else it returns NULL. */threadpool create_threadpool(int num_threads_in_pool);/** * dispatch sends a thread off to do some work.  If * all threads in the pool are busy, dispatch will * block until a thread becomes free and is dispatched. *  * Once a thread is dispatched, this function returns * immediately. *  * The dispatched thread calls into the function * "dispatch_to_here" with argument "arg". */int dispatch_threadpool(threadpool from_me, dispatch_fn dispatch_to_here,	      void *arg);/** * destroy_threadpool kills the threadpool, causing * all threads in it to commit suicide, and then * frees all the memory associated with the threadpool. */void destroy_threadpool(threadpool destroyme);#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -