gpt4 book ai didi

c - 如何一次锁定两个资源?

转载 作者:太空宇宙 更新时间:2023-11-04 05:00:51 25 4
gpt4 key购买 nike

我正在尝试解决一个与哲学家就餐问题类似的问题。如何同时锁定两个资源?锁定一种资源然后等待另一种资源并不是最佳选择。

我只能使用条件变量和互斥量,但唯一的解决方案是“不是最好的”。

我正在用 C 语言编写。

最佳答案

std::lock 可以接受两个参数,两个 unique_locks。用 `std::defer_lock' 参数调用它们:

std::unique_lock<std::mutex> lock_one(mutex_one, std::defer_lock);
std::unique_lock<std::mutex> lock_two(mutex_two, std::defer_lock);
std::lock(lock_one, lock_two);`

关于c - 如何一次锁定两个资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com