問題一覧に戻る
上級並行性
問題94: tokioランタイム

tokioはRustで最も人気の非同期ランタイムです。Futureのエグゼキュータと非同期ユーティリティを提供。#[tokio::main]はasync main用のランタイムを作成。spawnは独立して実行される並行タスクを作成します。tokio::timeは非同期タイマーと遅延を提供。ランタイムはタスクスケジューリング、I/O、タイマーを効率的に管理します。

use tokio;

// 非同期 main関数
#[::main]
async fn main() {
// タスクをスポーン
let handle = tokio::(async {
"Task result"
});

// タスクの完了を待機
let result = handle..unwrap();
println!("Got: {}", result);

// 非同期スリープ
tokio::time::(
tokio::time::Duration::from_secs(1)
).await;
}