#thread-local #static #lazy-evaluation #thread #macro

ref_thread_local

一个宏,用于声明类似于同时使用 lazy_static!RefCell 的线程局部 static

3 个不稳定版本

使用旧的 Rust 2015

0.1.1 2021 年 11 月 16 日
0.1.0 2021 年 1 月 15 日
0.0.0 2018 年 10 月 1 日

#1080Rust 模式

Download history 617/week @ 2024-03-15 547/week @ 2024-03-22 715/week @ 2024-03-29 600/week @ 2024-04-05 536/week @ 2024-04-12 569/week @ 2024-04-19 598/week @ 2024-04-26 589/week @ 2024-05-03 533/week @ 2024-05-10 461/week @ 2024-05-17 520/week @ 2024-05-24 656/week @ 2024-05-31 519/week @ 2024-06-07 699/week @ 2024-06-14 519/week @ 2024-06-21 222/week @ 2024-06-28

2,112 每月下载量
用于 22 个 crate (12 直接)

MIT 许可证

19KB
352

ref_thread_local.rs

一个宏,用于声明类似于同时使用 lazy_static!RefCell 的线程局部 static

使用此宏,您可以使线程局部 static 能够通过 borrow() 函数引用,就像使用 RefCell 一样。

您还可以在任何时候初始化或销毁 static 变量。

Travis-CI Status Latest version Documentation License

最低支持的 rustc

1.30.0+

入门

ref_thread_local.rs 在 crates.io 上可用。建议在那里查找最新发布的版本以及文档的最新构建链接。

在最后一次更新此 README 的时间点,最新发布的版本可以这样使用

将以下依赖项添加到您的 Cargo 清单...

[dependencies]
ref_thread_local = "0.0"

...并查看 文档 了解如何使用它。

示例

#[macro_use]
extern crate ref_thread_local;
use ref_thread_local::RefThreadLocal;

ref_thread_local! {
    static managed NUMBER: i32 = 233;
}

fn main() {
    let x = NUMBER.borrow(); // a Ref<'a, i32>
    println!("The number is {}.", x);
}

许可证

许可协议

无运行时依赖