ruckはChucKの軽量スレッド周りの処理をrubyに移植したもので、RubyKaigi2010でもプレゼンがあった。タイトルだけ見るとゲームの話かと思うけどゲームに関しては少しだけ触れられていてほとんどはruckとChucKの話だった。ChucKは今までにも何度かおもしろそうだなーと思ったことがあったのでruckのコードを読んでみた。ChucKの論文眺めてたのもその為です。 ruckはclock, event_clock, shred, shredulerから構成されている。shredulerに対してshredを登録するとそのshredはshredulerが持つclockに登録される。shreduler実行ループでは以下のような処理が行われている。 clockから現時刻のshred取り出し clock時刻進める 取り出したshred実行 clockがshred管理、スケジューリング、時