RactorのAPIが変わった
Rubyを4.0.0にしたところ、手持ちのサイトを一つ修正する必要があった。
ハマナの解析,マサキのリサーチ.| Roseanne's Analysis
takeをvalueにするだけで解決したけど。
RactorのPort
せっかくなので、Ractor::Portを使ってTupleSpaceを作ってみた。最初はRactorの内側でThreadを使おうとしたんだけど、なんだかうまくいかないのでRactorの内側はシングルスレッドで実装しなおした。 FIXMEのところは、単純な配列やTupleBagで書き直せるはず。
情報処理の学会誌(?)向けに書いたN-Queens問題の記事のコードをもってきた。
手触り
Fiberでなにか書くときと似たような種類の神経を使ってちょっとたいへん。Threadは偉大だ。
RactorはRactor間で通信するような問題よりも、ループの高速化みたいなところに使う方がいいと思う。
