我想對資料庫使用 async/await,但我不知道該怎么做。
我發現mongodb有一個基于異步連接的異步/等待驅動程式。
但是levelDB不是異步的。
我應該怎么辦?
我閱讀了tokio檔案,可能我可以使用spawn_blocking來運行異步 io 任務。
這樣對嗎?如果我經常使用spawn_blocking
,會不會影響性能?
uj5u.com熱心網友回復:
Tokio API的spawn_blocking部分使用單獨的執行緒池(用于異步任務的核心執行緒),如果執行緒未使用,則具有可配置的保持活動時間。因此,您可能會產生產生新系統執行緒的開銷。如果您總是執行相同的阻塞任務,則可能的優化可能是使用通道在異步任務和單個長時間運行的同步任務之間進行通信,該任務從通道中檢索包含引數的訊息。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/508490.html