Rust: tokio初試
toml:
[dependencies]
tokio = { version = "1", features = ["full"] }
futures = "0.3.4"
程式碼:
use std::time::{Duration, Instant};
use std::thread;
use tokio::time;
async fn hello_world() {
println!("hello world!");
}
// 同步sleep
async fn sync_time_01() {
std::thread::sleep(time::Duration::from_secs(1));//同步sleep
}
async fn sync_time_02() {
std::thread::sleep(time::Duration::from_secs(1))//同步sleep
}
// 非同步sleep
async fn async_time_01() {
tokio::time::sleep(Duration::from_secs(1)).await;//非同步sleep
}
async fn async_time_02() {
tokio::time::sleep(Duration::from_secs(1)).await;//非同步sleep
}
async fn sync_do() {
hello_world().await;
tokio::join!(sync_time_01(),sync_time_02());// 並行跑
println!("sync_do is over!")
}
async fn async_do() {
hello_world().await;
tokio::join!(async_time_01(),async_time_02(),async_time_01(),async_time_02());//並行跑
println!("async_do is over!")
}
#[tokio::main]
async fn main() {
let start_1 = Instant::now();
sync_do().await;
println!("sync_do cost miliseconds[毫秒] : {}", start_1.elapsed().as_millis());
let start_2 = Instant::now();
async_do().await;
println!("async_do cost miliseconds[毫秒] : {}", start_2.elapsed().as_millis());
}
相關文章
- tokio-rs/console:非同步 Rust 偵錯程式非同步Rust
- tokio_sky: 使用Rust+Tokio實現併發和多階段資料攝取和資料處理Rust
- 使用Rustlang的Async Tokio執行時處理CPU密集型任務Rust
- tokio-rs/console:非同步Rust執行偵錯程式控制檯非同步Rust
- 21. 從零用Rust編寫正反向代理,tokio竟然這樣對待socket!Rust
- 初試
- 001 Rust和WebAssembly初體驗RustWeb
- Kafka初試Kafka
- github 初試Github
- 初試 GithubGithub
- 騰訊前端初試前端
- 初試PythonPython
- python初試Python
- Vue + GraphQL初試Vue
- 初嘗試swiftSwift
- sqlite 小刀 初試SQLite
- 一位 Rust 開發者的 Go 初體驗RustGo
- 在初創公司使用Rust的警示故事 - ndwRust
- 文盤Rust -- tonic-Rust grpc初體驗 | 京東雲技術團隊RustRPC
- Accessability 專案初試
- python初試七Python
- python初試二Python
- python初試三Python
- python初試四Python
- python初試五Python
- python初試六Python
- 初學者學習Rust容易碰到的問題 - timRust
- 2020年焊工(初級)考試試題及焊工(初級)考試軟體
- PHP 初級 試崗要求PHP
- 初試MongoDB資料庫MongoDB資料庫
- 阿里雲IoT初試阿里
- Swift 3 0 FMDB 初試Swift
- 初試npm包釋出NPM
- Python爬蟲初試Python爬蟲
- 初試php中的curlPHP
- 【PL/SQL】初試 bulk collectSQL
- HTML+JS初試水HTMLJS
- 初識效能測試(測試小白麵試總結)