Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rustは厳しいが役に立つ Part2「Rustで非同期処理!!(概要)」

Rustは厳しいが役に立つ Part2「Rustで非同期処理!!(概要)」

More Decks by NearMeの技術発表資料です

Other Decks in Programming

Transcript

  1. 5 Rustで非同期処理に便利なcrate 〜Tokio〜 Tokio is an asynchronous runtime for the

    Rust programming language. It provides the building blocks needed for writing networking applications. https://tokio.rs/ → TokioはRustの非同期処理ランタイムの一つで、ネットワークアプリケーションの構築を助けてくれ る! “ ”
  2. 6 Rustで非同期処理に便利なcrate 〜Tokio〜 Ex) 1から10までの数字を表示する並行処理 use futures::future; async fn print_number(i:

    i32) { println!("{}", i); } #[tokio::main] async fn main() { let fn_objs = (1..(10+1)).map(|i| print_number(i) ); future::join_all(fn_objs).await; } 1 2 3 4 5 6 7 8 9 10 出力
  3. 7 Rustで非同期処理に便利なcrate 〜Tokio〜 Ex) 1から10までの数字を表示する並列処理 use futures::future; async fn print_number(i:

    i32) { println!("{}", i); } #[tokio::main] async fn main() { let fn_objs = (1..(10+1)).map(|i| tokio::spawn(async move { print_number(i).await }) ); future::join_all(fn_objs).await; } 5 1 4 2 3 6 7 8 9 10 出力