Rust語言神奇的併發模型

banq發表於2015-04-17
當業界各種語言在併發模型上你爭我奪時,新的系統語言Rust卻在無意間展現其神奇的併發模型,神奇之處是將安全和併發完美地統一在一起。

大部分語言都是為了併發而併發,從執行緒鎖角度不斷最佳化,直至無鎖Lock-free,但是無鎖的解決方案還是有限制的,後來有了協程或者纖程,是一種比普通執行緒更加輕量的執行緒;也有了Actor模型和Channel模型兩種解決方案,這些元件化的併發模型本質上是一種裝配線併發模型,包括Node.js的非同步或Reactive模型,是將原本一個執行緒需要完成的多道工序切分分離,根據需要排程執行,從而避免了堵塞。

Rust語言專案初始是為了解決兩個棘手問題:

1. 如何進行安全的系統程式設計?
2.如何實現無痛苦的併發程式設計

最初,這些問題似乎是毫不相關,但是讓人驚訝的是,最終解決方案被證明兩者是相通的,越安全反而越併發。
因此,從安全形度考慮併發真是讓人耳目一新,而且可能會起到四兩撥千斤的作用,具體文章見:

Rust語言併發模型

相關文章