【问题标题】:boost::io_service api implementation seems missing?boost::io_service api 实现似乎不见了?
【发布时间】:2013-03-29 06:46:05
【问题描述】:

我正在运行 boost 1.43.0 版本,我看到以下 api(在 asio::io_service 类中):

为了衡量性能,返回队列中未完成工作项的数量。

  int get_outstanding_work();
  int get_ready_work();

我没有找到任何网络文档。虽然我在 io_service.ipp 中看到了它们的实现,但没有实际的实现。我想用它来了解有多少处理程序处于待处理状态?

【问题讨论】:

  • 什么意思,没有实现?

标签: c++ boost boost-asio


【解决方案1】:

我不确定这种行为是否适用于 io_service 类。

解决方法: 您可能希望在处理程序周围创建一个包装函子,并将其传递给 io_service,而不是直接传递您的处理程序。 所述包装器将保留对 size_t 变量的引用,并在构造函数上递增该变量,并在 () 运算符上递减该变量。

之后,只需查看 size_t 变量即可检查 io_service 的队列中还剩下多少个处理程序。

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 2012-11-11
    相关资源
    最近更新 更多