# rcu-clean   [![Latest version](https://img.shields.io/crates/v/rcu-clean.svg)](https://crates.io/crates/rcu-clean) [![Documentation](https://docs.rs/rcu-clean/badge.svg)](https://docs.rs/rcu-clean) [![Build Status](https://travis-ci.org/droundy/rcu-clean.svg?branch=master)](https://travis-ci.org/droundy/rcu-clean) This crate provides easy to use smart-pointers with interior mutability. These smart pointers use [RCU](https://en.wikipedia.org/wiki/Read-copy-update) to allow simultaneous reads and updates. They implement `Deref` for reads, which makes them both convenient (ergonomic) and fast on reads, particularly for the `Arc` version that would otherwise require taking a `Mutex` or `RwLock` in order to read the pointer. The downside is that old versions of the data are only freed when you have called the `clean` method on each copy of the pointer.