我認爲Erlang風格的併發性是核心計數指數增長的答案。你可以用其他主流語言來僞造它。但解決方案總是讓我想要。我不願放棄多範式編程(C++/D)來切換到Erlang的嚴格語法。D編程語言中的Erlang風格併發性
什麼是Erlang的風格併發:
從語言的作者(What is Erlang's concurrency model actually ?)中的一個:
- 輕量級併發。
創建線程便宜,維護瘋狂的數字便宜。 - 異步通信。
線程只通過消息進行通信。 - 錯誤處理。
- 過程隔離。
或從知情博客(What is Erlang-Style Concurrency?):
- 快速進程創建/銷燬
- 能夠支持>> 10個000併發進程與基本不變的特點。
- 快速異步消息傳遞。
- 複製消息傳遞語義(無共享併發)。
- 過程監控。
- 選擇性訊息接收。
我認爲D's message passing可以完成大部分這些功能。我想知道的是「>> 10,000個併發進程(線程)」和「快速進程創建/破壞」。 D如何處理這些要求?
D如何處理這些要求?
我認爲,要正確支持它們,您必須使用green threads。 D的消息傳遞功能可以與綠色線程庫一起使用嗎?
如果你還沒有,看看Go。 – nmichaels 2010-10-30 03:14:59
並在鏽。 Rust具有消息傳遞,模式匹配和綠色線程,這允許大量的併發任務/進程。它也有一些類型的頻道(類似於Go)。 – 2014-08-06 14:50:28