#arc #ffi #bindings

无 std arcmut

介绍 ArcMut,FFI 工具

1 个不稳定版本

0.1.0 2024 年 1 月 10 日

#2556 in Rust 模式

MIT/Apache

24KB
418

ArcMut

介绍 ArcMut 结构体,FFI 工具。

github Build codecov

docs.rs crates.io crates.io

license

英文 | 简体中文

介绍

ArcMut 是一个指向类型 T 值的引用计数指针,可以修改。

注意:此结构体不是线程安全的!!!

在正常的 Rust 代码中,我们不期望使用此类型,但在编写 FFI 代码时,您可能需要使用此类型在 Rust 和其他语言之间共享一个值,并且如果其他语言的代码是并发的,我们鼓励您使用 Arc<Mutex<T>> 代替。

ArcMut<T> 提供了对类型 T 值的共享所有权,该值在堆上分配。对 ArcMut 调用 clone 将产生对堆上同一分配的另一个指针。当最后一个指向给定分配的 ArcMut 指针被销毁时,该分配中存储的值(通常称为“内部值”)也将被丢弃。

这与 std::sync::Arc 类似,但它允许内部可变性。

安装

[dependencies]
arcmut = "0.1"

许可证

arcmut 受 MIT 许可证和 Apache 许可证(版本 2.0)的条款约束。

请参阅 LICENSE-APACHELICENSE-MIT 了解详情。

版权所有 (c) 2024 Al Liu。

依赖项

~0–25MB
~334K SLoC