#mutex #single-threaded #environments #lean

nightly no-std no_mutex

适用于单线程环境的精简no_std互斥锁

2个版本

0.0.1 2020年5月2日
0.0.0 2020年5月1日

#14 in #lean

MIT/Apache

6KB

no_mutex

** 仅在nightly版本中可用 **

为单线程应用程序提供类似互斥锁的结构。

  • 提供Sync和Send容器
  • 使用Default懒加载互斥锁值
  • 如果重复锁定会panic,因为单线程应用程序中的死锁是毫无意义的
use no_mutex::Mutex;

static FOO: Mutex<Foo> = Mutex::default();

#[derive(Debug)]
struct Foo {
    i:u32
}

impl Default for Foo {
    fn default() -> Self {
        Foo { i: 42 }
    }
}

fn main() {
    let r = FOO.lock();
    println!("{:?}",r);
}

无运行时依赖