#shmem #shared #memory #inter-process #process


A user friendly crate that allows you to share memory between processes

9 releases

new 0.11.2 Sep 14, 2020
0.11.1 May 8, 2020
0.10.0 Sep 20, 2019
0.8.2 May 5, 2019
0.1.1 Apr 28, 2018

#38 in Memory management

Download history 461/week @ 2020-05-29 524/week @ 2020-06-05 423/week @ 2020-06-12 867/week @ 2020-06-19 763/week @ 2020-06-26 1053/week @ 2020-07-03 825/week @ 2020-07-10 1319/week @ 2020-07-17 1357/week @ 2020-07-24 1522/week @ 2020-07-31 1175/week @ 2020-08-07 798/week @ 2020-08-14 838/week @ 2020-08-21 766/week @ 2020-08-28 998/week @ 2020-09-04 1170/week @ 2020-09-11

4,307 downloads per month
Used in 2 crates


484 lines


Build Status crates.io mio Lines of Code

A crate that allows you to share memory between processes.

This crate provides lightweight wrappers around shared memory APIs in an OS agnostic way. It is intended to be used with it's sister crate raw_sync which provide simple primitves to synchronize access to the shared memory (Mutex, RwLock, Events, etc...).

crates.io docs.rs


For usage examples, see code located in examples/ :

Examples Description
event Shows the use of shared events through shared memory
mutex Shows the use of a shared mutex through shared memory



Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.



This release breaks backwards compatibility and removes a bunch of previous features which hid many unsafe behaviors (automatically casting shared memory to Rust types).

The release also marks the split between shared_memory and its synchronization primitives into a seperate crate raw_sync.


~12K SLoC