Функция new класса RwLock
Функция new класса RwLock создает новый экземпляр блокировки чтения-записи, обернутый вокруг переданного значения. Параметром функция принимает значение, которое нужно защитить с помощью RwLock. Возвращается новый экземпляр RwLock<T>, готовый к использованию.
Синтаксис
RwLock::new(value)
Пример
Давайте создадим RwLock с целочисленным значением и прочитаем его:
use std::sync::RwLock;
fn main()
{
let lock = RwLock::new(5);
let res = lock.read().unwrap();
println!("{}", *res);
}
Результат выполнения кода:
5
Пример
Давайте создадим RwLock со строковым значением и изменим его через блокировку записи:
use std::sync::RwLock;
fn main()
{
let lock = RwLock::new(String::from("abcde"));
{
let mut res = lock.write().unwrap();
*res = String::from("12345");
}
let res = lock.read().unwrap();
println!("{}", *res);
}
Результат выполнения кода:
"12345"