|0.4.2||Feb 22, 2020|
|0.4.0||Nov 6, 2019|
|0.3.9||Jul 24, 2019|
|0.3.8||Jan 29, 2019|
|0.1.1||Nov 27, 2017|
#2 in Concurrency
372,212 downloads per month
Used in 1,327 crates (273 directly)
This crate provides multi-producer multi-consumer channels for message passing.
It is an alternative to
std::sync::mpsc with more features and better performance.
Receivers can be cloned and shared among threads.
- Two main kinds of channels are
- Convenient extra channels like
select!macro can block on multiple channel operations.
Selectcan select over a dynamically built list of channel operations.
- Channels use locks very sparingly for maximum performance.
Add this to your
[dependencies] crossbeam-channel = "0.4"
Next, add this to your crate:
#[macro_use] extern crate crossbeam_channel;
The minimum supported Rust version is 1.28. Any change to this is considered a breaking change.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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 product includes copies and modifications of software developed by third parties:
tests/mpsc.rs includes modifications of code from The Rust Programming Language, licensed under the MIT License and the Apache License, Version 2.0.
tests/golang.rs is based on code from The Go Programming Language, licensed under the 3-Clause BSD License.
See the source code files for more details.
Copies of third party licenses can be found in LICENSE-THIRD-PARTY.