#transactional-memory #stm #consistent #reclamation #top #built #crossbeam-epoch

crossbeam-stm

基于 crossbeam-epoch 构建的软件事务内存系统

1 个不稳定版本

使用旧的 Rust 2015

0.6.1 2018年8月7日
0.6.0 2018年8月7日
0.5.0 2018年8月7日
0.4.0 2018年5月15日
0.3.1 2018年5月14日

#8 in #reclamation

22 每月下载量

MIT/Apache

5KB
100

Crossbeam-STM

Crossbeam-STM 是一个使用 crossbeam-epoch 进行内存回收的软件事务内存实现。它旨在尽可能快和一致,但代价是写入速度可能不一致且可能非常慢。

该项目尚未准备好供一般使用。

示例

extern crate cb_stm_temp;

use cb_stm_temp::Stm;

// Create a new STM pointer with a Vec of numbers
let stm = Stm::new(vec![1,2,3,4]);

// Read from the STM
{
    let data = stm.load();
    println!("Current STM: {:?}", data);
}

// Update the STM pointer to add a new number
stm.update(|old| {
    let mut new = old.clone();
    new.push(5);
    new
});

// Read the new data
{
    let data = stm.load();
    println!("Current STM: {:?}", data);
}

依赖项

~450KB