我目前有一个以线性顺序为我执行工作的链。我想知道是否有办法获得否。链队列中的作业数。
问问题
145 次
1 回答
2
没有简单的方法,因为strand
既不提供访问信息的公共方式,也不直接包含计数。如果您访问私有成员变量,则可以通过count_
within获取大小strand::impl_
。
替代方法包括:
- 包装
strand
,提供一个类似的 API 来增加和减少计数。这种新类型需要包装任何正在发布的处理程序,因为一旦用户的处理程序完成执行,它就需要注入一个钩子来减少计数。 - 创建一个仿函数对象,该对象在其构造期间增加计数,并在销毁期间减少计数。所有通过链发布或分派的处理程序都将由函子包装。
于 2013-04-16T14:31:59.160 回答