而提到併發,就常常會提到函數式編程。node
函數式更強調精確性。
函數式用變形替代了修改。編程
Elixir中的process只佔用不多的資源,它們是相互獨立的,經過收發消息來交流。
利用process咱們能在一個節點上保持大量的鏈接。網絡
一般人們不會用順序代碼來編寫併發的程序,而Elixir包含了順序代碼。併發
在併發的程序中,當一個進程出現問題,咱們會遵循Fail Fast(或者說Let Crash)原則。讓這個進程從新啓動,這樣就能不影響到其它進程。函數式編程
supervisor負責監視和重啓進程。而在上級還有sup的sup來監視sup,最終邊界就是咱們的Application。函數
不管進程是在同一個應用內,仍是在不一樣的應用中,或是不一樣機器上,它們通訊的方式都是相同的。工具
mix new foo --supspa
iex --sname foo
iex --sname bar對象
以後咱們就能夠在一個進程中執行另外一個進程裏定義的函數。 Node.spawn_link(node, fun)進程