rustHow to communicate between threads in Rust?
Threads in Rust can communicate through channels. Channels are a type of synchronization primitive that allows one thread to send data to another thread.
use std::sync::mpsc;
let (tx, rx) = mpsc::channel();
// Sending a message
tx.send(42).unwrap();
// Receiving a message
let received = rx.recv().unwrap();
println!("Received {}", received);
// Output: Received 42
use std::sync::mpsc;
: imports the mpsc (multiple producer, single consumer) module from the standard library.let (tx, rx) = mpsc::channel();
: creates a new channel and returns a pair of sender (tx) and receiver (rx) endpoints.tx.send(42).unwrap();
: sends the value 42 from the sender (tx) to the receiver (rx).let received = rx.recv().unwrap();
: receives the value 42 from the receiver (rx).println!("Received {}", received);
: prints the received value.
Helpful links
More of Rust
- How to replace a capture group using Rust regex?
- How to replace all matches using Rust regex?
- How to parse a file with Rust regex?
- How to use regex to match a double quote in Rust?
- How to match the end of a line in a Rust regex?
- How to use regex with bytes in Rust?
- How to perform matrix operations in Rust?
- How to push an element to a Rust slice?
- How to convert a Rust slice of u8 to a string?
- How to extract data with regex in Rust?
See more codes...