タグ

プロセスとErlangに関するskypenguinsのブックマーク (2)

  • [翻訳] Elixirのプロセスアーキテクチャ または私は如何にして心配するのを止めてクラッシュを愛するようになったか - Qiita

    John Bohnさんのブログ記事 Elixir Process Architecture or: How I Learned to Stop Worrying and Love to Crashの翻訳です。 Elixir(とそのベースになっているErlang)のプロセスは生成のためのコストが小さいため「下手にエラー処理するコードを書いてプロセスを維持するよりはさっさとクラッシュさせて、それに続く処理の中で対策して再起動したほうがよい」という思想があります。それを実際に適用してみたという話です。なお説明を簡単にするために多少端折ってるとのこと。 ところでこのタイトルは某古典的スラップスティックSF映画のアレですね… "クラッシュさせちまえ" それは私が聞かされ続けてきたことだ。正直言ってそのセリフの意味するところを理解するまで少々時間が必要だった。その考え方がピーンと来るにはProcess

    [翻訳] Elixirのプロセスアーキテクチャ または私は如何にして心配するのを止めてクラッシュを愛するようになったか - Qiita
  • Elixirのプロセス生成とプロセス間通信 | DevelopersIO

    Elixirは並行処理能力に優れたRubyライクなシンタックスを持つ関数型言語です。 前回のエントリではElixirの概要やシンタックスの紹介を簡単にしました。 今回はElixirの複数プロセスを使ったプログラミングについて書いていきます。 Elixirにはプロセス周りの実装をサポートしてくれるOTPというライブラリがあるのですが、まずはOTPを使用しないプログラミングを扱います。 軽量プロセス Elixirのプロセスは軽量プロセスと言われていて、OSのプロセスやスレッドではなくGreenスレッドです。 カーネルではなくVMでスケジューリングされるので軽量、コンテキストスイッチが発生しないという利点があります。 1軽量プロセスで約300ワードです。 プロセス生成 Elixirで新しいプロセスを生成するのは簡単です。 spawn関数を呼び出し、戻り値に生成したプロセスIDを受け取ります。 d

    Elixirのプロセス生成とプロセス間通信 | DevelopersIO
  • 1