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?
- Regex example to match multiline string in Rust?
- How to parse a file with Rust regex?
- How to use regex lookahead in Rust?
- How to use regex captures in Rust?
- How to use regex to match a group in Rust?
- How to match the end of a line in a Rust regex?
- How to perform matrix operations in Rust?
- How to use regex to match a double quote in Rust?
- How to replace strings using Rust regex?
See more codes...