# 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{ # 親スレッドは無限ループ
}