# list05.rb require 'thread' memory = "10100101011010" cs = 相互排除のインスタンスを作る Thread::fork{ # 表示スレッド before = "" # 前回に表示した内容 loop{ # 無限ループ 同期メソッドを使う もし before と memory が異なるならば、 memory を表示する memory の複製を作り before に代入する } # 同期終了 } # ループのとじ括弧 } # fork のとじ括弧 Thread::fork{ 無限ループ { sleep する 同期始まり 001 を 000 に書き換える 同期終わり } } Thread::new{ 010 を 000 に書き換える処理 } ※ 以下同様 loop{ # 親スレッドは無限ループ }