CubaClockのように大量に動画とか音楽を読み込むもの作るときにはそうめん(ThreadLiblary)のMonitorという機能を使うと便利です。 Monitorとは、機能的にいうと、あるものが使えないときは待つ、使えるときはデータ(リソース)を提供するものです。 具体的には、たとえば連続的に画像や音を表示しながら読み込みつづけるようなときに、データが十分にたまるまで待つ、たまったら普通に表示(or再生)、足りなくなったらまた待つ、といった処理を手軽に実現できます。 そうめんのサンプルにロードし続けるThreadと、データを見張るクラスのMonitorを介して、そのデータを使うThreadと間接的に連動するような実装をしたものがあります。 実は、ここの連動感が僕にとってすこしイメージしにくかったんですが、次のように整理すると理解できました。 まず、Queueというクラスを実装してこれ