タグ

green-threadsとfiberに関するnabinnoのブックマーク (3)

  • Route 477(2007-06-20)

    ■ [ruby][event] Ruby勉強会@関西-16「30分でわかるcallccの使い方」 先週末のRuby勉強会@関西で、Rubyにおけるcallccの使い方について発表させていただきました。 スライド: pdf ppt 継続の説明については「なんでも継続」がよく参照されるんだけど、 ちょっと説明がボトムアップすぎると思うので(僕も最初に読んだときは全然分からなかった)、「callccで何ができるか」という応用面から攻める 構成にしてみました。 最初は「継続かわいいよ継続」「それをすてるなんてとんでもない」と思ってたんだけど、 いろいろ調べてるうちになんでcallccが嫌われるのかが理解できてしまった。callccはかわいいけど、非常に手のかかる奴らしい。 しかも、面白い利用例はいっぱいあるけど実用的な例があんまりないんだよね^^;。 callccが無くなるとRubyの「かっこよさ

    Route 477(2007-06-20)
  • RubyのThreadとFiberの違い: ThreadとFiberの違い, 今、西尾泰和『コーディングを支える技術』を読んでいて、, 第10章「並行処理」にこんなことが書いてあって、そのことを思い出した。, , , ちょ��

    [Ruby] ThreadとFiberの違い前、#shibuyarblunchっていう、渋谷に縁のあるRubyistが集まってお昼をご一緒しましょう、というので、ThreadとFiberの違いが話題になった。 確か刺身さんだったと思うんだけど、Fiberを使えるような時には、Threadも使えるんではないか、Fiberを使うシーンが想像できない、といったことを言っていたように思う。それで、僕はその時、「そうですね」と言って、Fiberが存在する意義を分かっていなかった。今、西尾泰和『コーディングを支える技術』を読んでいて、コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)西尾泰和技術評論社発売日:2013-04-24ブクログでレビューを見る» 第10章「並行処理」にこんなことが書いてあって、そのことを思い出した。スレッドを使った時に競合状

  • ファイバー (コンピュータ) - Wikipedia

    ファイバー(英: fiber)は、計算機科学の分野において、非常に軽量な実行スレッドを示す。 ファイバー同士はスレッドと同じくアドレス空間を共有するが、ファイバーが協調マルチタスクを使用するのに対し、スレッドはプリエンプティブマルチタスクを用いる。スレッドでは、ビジーなスレッドに割り込み他のスレッドを復帰させるためにカーネルのスレッドスケジューラを用いることが多いが、ファイバーは他のスレッドを実行させるために自ら制御を譲る。 ファイバーはコルーチンと質的には同じ概念である。違いは、もしあるとすればコルーチンが言語レベルの構造で、制御の流れの形態の一つであるのに対し、ファイバーはシステムレベルの構造であり、並行に動作しないスレッドと捉えられる点である。どちらに近いか異論はあろうが、ファイバーはコルーチンの実装か[1]、あるいは、コルーチンを実装するための基盤と捉えることができるかもしれない

  • 1