1个不稳定版本

使用旧的Rust 2015

0.1.0 2018年4月28日

#19 in #locks


flexible-locks中使用

Apache-2.0/MIT

7KB
115 代码行

灵活锁的定制Derive

此crate提供用于描述可以包裹在Flexible Locks类型中的类型的特质的自定义derive。

目前,Flexible Locks仅提供一个Mutex类型,因此此crate提供了一个#[derive)]

使用#[mutex]属性来指示包含原始互斥类型的数据字段。

示例

extern crate flexible_locks;
#[macro_use]
extern crate flexible_locks_derive;
use flexible_locks::{Mutex, RawMutex};

// Pick your choice of raw mutex;
#[cfg(windows)]
use flexible_locks::CRITICAL_SECTION as RawOsMutex;
#[cfg(unix)]
use flexible_locks::pthread_mutex_t as RawOsMutex;

#[derive(MutexProtected)]
struct Data {
    a: usize,
    #[mutex]
    mutex: RawOsMutex,
    b: usize,
}

依赖关系

~2MB
~47K SLoC