收集的线程池

现在很多语言都内置了线程池实现,但C++中却没有。本文列举一些C++实现的线程池工具。
 
Boost.Threadpool
      项目首页:http://threadpool.sourceforge.net
 
      Boost.Threadpool是一个基于Boost、跨平台的C++线程池库。Boost.Threadpool提供了一个便捷的任务调度异步的途径。线程池可以定制,动态管理,易于集成到您的软件项目中。该库已经在多个商业服务器程序中使用,并没有任何问题的处理高负荷业务。
 
      使用示例:
 
 
复制代码
#include "threadpool.hpp"
void normal_task();
void important_task();
void execute_prioritized()
{
  // Create prioritized thread pool
  boost::threadpool::prio_pool tp; //scoped_pool<boost::threadpool::prio_pool, 0> tp;
 
  // Add some tasks to the pool.
  tp += boost::threadpool::prio_task_func(5,   &normal_task);
  tp += boost::threadpool::prio_task_func(100, &important_task);
  tp += boost::threadpool::prio_task_func(7,   &normal_task);
 
  // Add the some threads to the pool. This will start the execution of the tasks.
  tp->resize(2);
 
  // The tasks are processed according to their priority:
  // important_task(100), nonrelevant_task(7), nonrelevant_task(5).
  tp->wait();
  // Now all tasks are finished and the pool will be destroyed safely when tp goes out of scope.
}
复制代码
ffead-cpp
      项目首页:http://code.google.com/p/ffead-cpp。
 
      这是一个雄心勃勃的项目,它旨在将C++带入Web开发的世界。正像在它的介绍页面所声明的那样:
 
  “该框架是为C++平台上快速发展的企业级应用而开发。 这是一个C++的Web框架,C++应用程序框架,C++的REST框架和C++的soap框架,这些框架都内置其中。 它包含Linux/Windows(通过Cygwin)的实现。它是第一个也是唯一的提供非侵入性的依赖注入、业务驱动的组件逻辑、基于POCO发展的C++应用程序框架。大部分的功能是由配置文件控制。”
 
POCO C++ libraries
      项目首页:http://pocoproject.org/。
 
      POCO库是一个使用现代标准ANSI C++以及C++标准库实现的框架。该框架近似完美实现(压缩,数据访问,SSL,加密,XML,线程,IPC-任何你能想到的在 程序开发中的东西,它都包含)。它采用Boost授权许可证,而且似乎有很多的用户。
 
Linux下的一个ThreadPool
      项目首页:http://www.hlnum.org/english/projects/tools/threadpool/index. html
 
      是一个非常简单的基于lib_pthread的实现。你可以基于它实现你的代码,而且很可能会按需进行一些进一步的修改。正如在其主页的介绍,它是:
 

“一个基于POSIX线程库的线程池实现。它实现的池是阻塞的,直到有一个job到来,然后它选择一个空闲线程,并在其上运行这个job。如果此时没有可用的空闲线程,该线程池会阻塞直到某一正在运行job的线程结束”

转自:http://www.2cto.com/kf/201405/302621.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prometheus是一个流行的开源监控系统,它可以用于监控和度量各种不同的系统、服务和应用程序。在监控线程池时,Prometheus可以提供以下功能和优势。 1. 收集线程池的度量指标:Prometheus可以通过在线程池代码中插入监控代码,收集线程池的各种度量指标,例如线程池的活动线程数、等待队列长度、线程池使用率等等。这些指标可以提供有关线程池性能和负载的有用信息。 2. 实时监控和警报:Prometheus可以实时收集和展示线程池的度量指标,用户可以通过Prometheus的仪表盘来查看线程池的实时状态。此外,Prometheus还支持警报功能,可以根据设定的条件和阈值触发警报,及时通知管理员进行处理。 3. 数据存储和查询:Prometheus具有自己的时间序列数据库,可以存储收集线程池度量指标数据。用户可以使用PromQL查询语言来查询和分析这些数据,以获取对线程池性能和行为的深入理解。用户可以制定自己的查询规则,以便按需进行统计、汇总和图形化展示。 4. 可视化和可扩展性:Prometheus与Grafana等监控可视化工具集成,可以将线程池的监控指标以图表的形式展示出来。此外,Prometheus还具有良好的可扩展性,可以通过添加适当的插件或集成其他工具,进一步扩展监控线程池的能力。 总之,通过使用Prometheus监控线程池,我们可以实时监控线程池的度量指标、进行警报和通知、存储和查询数据,并通过可视化工具展示线程池的状态和趋势。这对于追踪线程池性能、预测和解决潜在问题,以及优化线程池的工作效率都非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值