タグ

coroutineとruby-builtin-libraryに関するnabinnoのブックマーク (1)

  • class Fiber (Ruby 3.3 リファレンスマニュアル)

    [edit] 要約 ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。 Thread クラスが表すスレッドと違い、明示的に指定しない限りファイバーのコンテキストは切り替わりません。またファイバーは親子関係を持ちます。Fiber#resume を呼んだファイバーが親になり呼ばれたファイバーが子になります。親子関係を壊すような遷移(例えば自分の親の親のファイバーへ切り替えるような処理)はできません。例外 FiberError が発生します。できることは Fiber#resume により子へコンテキストを切り替える Fiber.yield により親へコンテキストを切り替える の二通りです。この親子関係は一時的なも

  • 1