Поиск…


Вступление

futures-rs - это библиотека, которая реализует фьючерсы и потоки нулевой стоимости в Rust.

Основными концепциями фьючерсного ящика являются Future and Stream .

Создание будущего с помощью функции onehot

Есть некоторые общие Future реализации признака в фьючерсной обрешетке. Один из них реализован в модуле futures::sync::oneshot и доступен через функцию futures::oneshot :

extern crate futures;

use std::thread;
use futures::Future;

fn expensive_computation() -> u32 {
    // ...
    200
}

fn main() {
    // The oneshot function returns a tuple of a Sender and a Receiver.
    let (tx, rx) = futures::oneshot();

    thread::spawn(move || {
        // The complete method resolves a values.
        tx.complete(expensive_computation());
    });

    // The map method applies a function to a value, when it is resolved.
    let rx = rx.map(|x| {
        println!("{}", x);
    });

    // The wait method blocks current thread until the value is resolved.
    rx.wait().unwrap();
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow