1 unstable release
0.1.0 | Jan 10, 2024 |
---|
#1129 in Concurrency
24KB
418 lines
ArcMut
Introduction
ArcMut
is a reference-counted pointer to a value of type T
, which can be mutated.
Note: This struct is not thread-safe!!!
In normal Rust code, you are not expected to use this type, but when you
are writing FFI code, you may need to use this type to share a value between
Rust and other languages, and again, if the code in other languages is concurrent,
you are encouraged to use a Arc<Mutex<T>>
instead.
ArcMut<T>
provides shared ownership of a value of type T
, allocated
in the heap. Invoking clone
on ArcMut
produces another pointer to the
same allocation in the heap. When the last ArcMut
pointer to a given
allocation is destroyed, the value stored in that allocation (often
referred to as "inner value") is also dropped.
This is similar to std::sync::Arc
, but it allows interior mutability.
Installation
[dependencies]
arcmut = "0.1"
License
arcmut
is under the terms of both the MIT license and the
Apache License (Version 2.0).
See LICENSE-APACHE, LICENSE-MIT for details.
Copyright (c) 2024 Al Liu.
Dependencies
~0–24MB
~335K SLoC