是否有可能获得链计数?

时间:2013-04-16 12:19:08

标签: c++ boost-asio

我目前有一个以线性顺序为我执行工作的链。我想知道是否有办法解决问题。在队列中的工作。

1 个答案:

答案 0 :(得分:2)

没有简单的方法,因为strand既不提供访问信息的公共方法,也不直接包含计数。如果您访问私有成员变量,则可以通过count_内的strand::impl_获取大小。

替代方法包括:

  • 包装strand,提供类似的递增和递减计数的API。这个新类型需要包装任何处理程序,因为它需要在用户的处理程序完成执行后注入一个钩子来减少计数。
  • 创建一个仿函数对象,该对象在构造期间递增计数,并在销毁期间递减计数。所有通过子线发布或发送的处理程序都将由仿函数包装。