标准库提供了一个std::timed_mutex
类和一个std::recursive_timed_mutex
类,这两个类都是支持普通lock()
、try_lock()
和unlock()
方法的定时互斥体类,此外还支持以下两个方法:
try_lock_for
调用线程将尝试在一个给定的相对时间内试图获得这个锁。如果不能在给定超时之后获得这个锁,这个调用失败并返回false。如果在超时时间之内获得了这个锁,这个调用成功并返回true。
#include <iostream>
#include <mutex>
#include