分享一個c執行緒池實現程式碼

xuqianghit發表於2011-11-21

下載地址:http://download.csdn.net/detail/xuqianghit/3823740 內附使用示例及makefile檔案

介面比較簡單:

threadpool create_threadpool(int num_threads_in_pool);
void dispatch(threadpool from_me, dispatch_fn dispatch_to_here,
              void *arg);
void destroy_threadpool(threadpool destroyme);

其中dispatch函式就是向threadpool中新增執行的執行緒,注意的是:

1. 每個新增的執行緒僅能執行一次

2. 執行緒池的排程策略是先來先服務(內部使用連結串列實現)的策略,沒有優先順序的概念

3. 執行緒池不能自動擴充大小。

這裡是一篇關於執行緒池的簡單介紹:http://blog.csdn.net/axman/article/details/1481197

相關文章