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

📄 threadpool.h

📁 遗传算法的一个库
💻 H
字号:
#ifndef __GradSoft_ThreadServices_ThreadPool_h#define __GradSoft_ThreadServices_ThreadPool_h/* * GradSoft C++ ToolBox: Threading * (C) GradSoft 2001 * (C) Ruslan Shevchenko 2001 * http://www.gradsoft.com.ua * $Id: ThreadPool.h,v 1.5 2001/10/31 03:13:49 rssh Exp $ */#ifndef __GradSoft_ThreadService_h#include <GradSoft/ThreadService.h>#endif#ifndef __GradSoft_Thread_h#include <GradSoft/Thread.h>#endif#ifndef __GradSoft_ThreadServices_QueueOfRunnables_h#include <GradSoft/ThreadServices/QueueOfRunnables.h>#endifnamespace GradSoft {/** * ThreadPool service. **/class ThreadPool: public ThreadService{public:  ///  enum Mode { Blocked, Checked, CheckedWithTimeout };private:  class ThreadPoolElement: public Thread  {   ThreadPool* owner_;   public:        ThreadPoolElement(ThreadPool* owner)      :owner_(owner)    {}    void run();      ThreadPoolElement() // used, when C++ compiler does not support                         // array initializer      :owner_(NULL)    {}    void set_owner(ThreadPool* owner);  };  friend ThreadPoolElement;  QueueOfRunnables      queue_;  ThreadPoolElement*    threads_;  int                   nThreads_;  Mode                  mode_;  long                  timeout_;public:  ThreadPool(int nThreads, int queueSize,  Mode mode, long timeout);  void process(Runnable* runnable);  void activate();  void deactivate(bool shutdown);};}#endif

⌨️ 快捷键说明

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