Rust的futures和std庫里的future是什麼關係?

時間 2021-06-01 02:14:39

1樓:賴智超

進標準庫的API必須是要很穩定的,不像第三方生態庫那樣打個版本就能改。像非同步這麼重要的特性,更應該慎重考慮。所以目前只把核心的Future相關定義放進了標準庫,單用這些沒法幹活。

生態庫(futures-rs,tokio等)在標準庫定義的API的基礎上進行完善非同步所需的基礎設施(Executor,Reactor,IO Future,Timer,Task Channel等),後面生態庫比較穩定了,大家用了都說好的時候,會慢慢合進標準庫的。

2樓:

標準庫里引入futures介面,是乙個最小化的引入,目的是為了在語言層面支援async/await語法的實現。futures-rs庫包含了更多的東西,包括runtime之類的。這兩者是共存的。

Rust裡有很多都是這樣的關係,比如simd和stdsimd等等。

Future這個詞哪來的?現成的非同步程式設計模式,Rust只是借鑑前輩們的好的實踐。具體概念自己Google就有很多介紹,就不多說了。

boost unordered map 和std unordered map 支援併發讀嗎?

雨花 find 是沒問題的,但不要用 運算子,這個可能產生意料之外的寫操作。曾經我乙個程式莫名卡死,懷疑是 運算子引用存在的 key 仍然引起了寫操作,沒有切實證據,但把 全部改成 find 之後就好了。 得,2013 年的問題,乙個靠譜的肯定的回答都沒有,要麼就是在盲猜,要麼就是不負責任地胡說八道...

C Haskell Scala 和 Rust 究竟哪個最複雜?

屈靈翊 程式語言作為一種工具,是拿來處理問題的。因此只有針對某個具體的場景這個問題才有實際的意義。不提供場景的話,語言複雜度這種東西沒有乙個公認的定義,憑感覺來誰也不服。不過強行要找乙個標準的話,我們可以用乙個近似的可度量的指標 語言規範的大小。一圖勝千言 所以,C Haskell Scala Ru...

RUST 和 GO那個效能更好?

Rust在執行效能上各個方面的效能都要比Go好不少,Rust也沒有GC,所以不存在Stop the world 問題,再加上Rust更容易做一些底層優化 例如Rust可以通過 repr align 64 這個屬性標記強制進行記憶體對齊,在需要命中CPU快取的場景是非常有用的,具體見 這篇文章 不過效...