pthreads 是否支持查询“锁计数”的方法?递归互斥体?
pthreads 是否支持任何允许您查询递归互斥锁被锁定的次数的方法?
Does pthreads support any method that allows you to query the number of times a recursive mutex has been locked?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
没有官方的、可移植的方法来做到这一点。
您可以通过自己跟踪锁定计数来轻松获得此行为 - 也许可以通过为锁定和解锁函数编写包装器,并使用互斥锁和计数作为成员创建一个结构。
There is no official, portable way to do this.
You could get this behavior portably by tracking the lock count yourself—perhaps by writing wrappers for the lock and unlock functions, and creating a struct with the mutex and count as members.
您可以使用第二个互斥锁来完成此操作,例如counting_mutex。
然后代替 pthread_mutex_lock:
代替 pthread_mutex_unlock:
然后您可以添加 pthread_mutex_count:
You can do it using a second mutex, e.g. counting_mutex.
Then instead of pthread_mutex_lock:
instead of pthread_mutex_unlock:
then you can add pthread_mutex_count: