cooptex Rust 无死锁互斥器开源项目

我要开发同款
匿名用户2021年11月05日
103阅读

技术信息

开源地址
https://github.com/shelbyd/cooptex
授权协议
MIT

作品详情

cooptex提供了无死锁互斥器(deadlock-freeMutexes)。

[CoopMutex::lock]方法将[std::syc::Mutex]的返回值封装成Result结果,该结果将要求调用者放弃其他持有的锁,以便另一个线程可以取得进展。这种行为可以通过使用[retry_loop]函数轻松实现。

示例代码

usecooptex::*;leta=CoopMutex::ew(42);letb=CoopMutex::ew(43);retry_loop(||{leta_lock=a.lock()?.uwrap();letb_lock=b.lock()?.uwrap();assert_eq!(*a_lock+*b_lock,85);Ok(())});

功能介绍

cooptex 提供了无死锁互斥器 (deadlock-free Mutexes)。 [CoopMutex::lock] 方法将 [std::sync::Mutex] 的返回值封装成Result...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论