Spec-Zone.ru › Tokio

Функция channel

pub fn channel<T>() -> (Sender<T>, Receiver<T>)
Доступно только при включённой функции crate sync.

Создаёт новый одноразовый канал для отправки отдельных значений между асинхронными задачами.

Функция возвращает отдельные дескрипторы для отправки и получения. Дескриптор Sender используется производителем для отправки значения. Дескриптор Receiver используется потребителем для получения значения.

Каждый дескриптор можно использовать в отдельной задаче.

Примеры

use tokio::sync::oneshot;

let (tx, rx) = oneshot::channel();

tokio::spawn(async move {
    if let Err(_) = tx.send(3) {
        println!("the receiver dropped");
    }
});

match rx.await {
    Ok(v) => println!("got = {:?}", v),
    Err(_) => println!("the sender dropped"),
}

MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/sync/oneshot/fn.channel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API