• 运行Future

    运行Future

    Riker可以执行并推动Future完成。 实际上,内部参与者由调度员作为Future执行。 这意味着Riker可以与演员一起在同一个调度员上运行任何 Future

    ActorSystemContext都有一个接受 Future运行的execute方法:

    1. let handle = system.execute(async move {
    2. format!("some_val_{}", i)
    3. });
    4. assert_eq!(block_on(handle).unwrap(), format!("some_val_{}", i));

    sys.execute计划将来执行,调度程序将使用调度程序的线程池将其驱动完成。 execute返回future :: future :: RemoteHandle future,可用于提取结果。

    注意 : 默认的Riker调度程序使用Futures crate的ThreadPool来运行 Future

    在下一节中,我们将了解如何测试Riker应用程序。