Fiberによる協調的な並行プログラミングノンプリエンプティブな軽量スレッドであるFiberを紹介し、その基本的な使い方、およびFiber#transferを用いた制限のないコンテキスト切り替えを解説します。 Fiberとは 今回の記事では、Fiberについて解説します。Fiberは Rubyにおける並行処理とスレッド・プロセスの機能 で解説した"Thread"に似ていますが、Threadにはない特徴を備えています。 RubyリファレンスマニュアルからFiberクラスの説明を引用してみましょう。 ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。 class Fiber | Ruby 2.1.0 リファレ
![Fiberによる協調的な並行プログラミング [Ruby] All About](https://cdn-ak-scissors.b.st-hatena.com/image/square/942e22578625a74e2521333181830c84f6774ba9/height=288;version=1;width=512/https%3A%2F%2Fimgcp.aacdn.jp%2Fimg-a%2F1200%2F900%2Faa%2Fgm%2Farticle%2F4%2F4%2F7%2F2%2F4%2F5%2Ftopimg_original.jpg)