定义在中。 template<class Lockable1, class Lockable2, class... LockableN> void lock(Lockable1& lock1, Locakable2& lock2, LockableN&... lockn);
使用死锁避免算法来Lock给定的Lockable的对象lock1,lock2,...,lockn,以防止死锁。
以一种不确定的调用顺序来调用lock, try_lock, unlock,以锁定lock1,lock2,...,lockn. 如果对lock或unlock的调用导致了异常,那么对于任何已经被lock住的对象,在异常被再次抛出前,unlock将被调用。
示例程序: 下面的例子使用std::lock来锁定几对mutex而没有死锁。
The #1 tech hiring platform