超时锁:用来记录线程加锁 解锁 等竞争锁的过程,多用于调试多线程时使用。
启动多个线程,然后,竞争一把超时锁,分别打印记录加锁成功的线程和失败的线程id:
std::timed_mutex tmtx;
void ThradFunc()
{
while (true)
{
//如果失敗,將睡眠100毫秒,否則搶占鎖成功
//相當於常規鎖mutex :: try_lock()失敗 + sleep()
if(!tmtx.try_lock_for(std::chrono::milliseconds(100)))
{
std::cout <<