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