タグ

ブックマーク / qiita.com/rejasupotaro (1)

  • Rustのスレッドで並列処理を行う - Qiita

    Rustでスレッドを扱う前に Rustではネイティブスレッドを使うlibnativeと、グリーンスレッドを使うlibgreenが存在していましたが、1.0になるタイミングでlibgreenは削除されて、スレッドはネイティブスレッドとして動作するようになりました。ErlangではN:Mで実行される軽量プロセスが実装されていて、マルチコアCPUで細かいタスクを大量に処理できるようにしています。おそらくGolangもそのようになっていたはずです。 Rustがなぜグリーンスレッドを削除したかというと、Rustはシステムプログラミング言語を目指しており、VMのメモリやCPUのオーバーヘッドをなくして、ネイティブに近い環境で実行されるようにしたためです。Rustではグリーンスレッドを削除することによって "Hello World" のバイナリのサイズを半分にして、低レベルなライブラリのフックをしやすく

    Rustのスレッドで並列処理を行う - Qiita
    yosuke_furukawa
    yosuke_furukawa 2015/07/24
    なるほど
  • 1