////////////////////////////////////////////////////////////////////////////////
//  << ja161.java >>
//
//  JApplet(4):スレッド(概説)
//  
// ●スレッド
//  ・プログラムの実行の流れを、スレッドという。必要に応じて新しいスレッドを
//   作成し、複数のスレッドを並行して実行できる。
//   たとえば、アニメーションを表示しながら音を再生したり、一定時間ごとに
//   表示を変化させたりすることができる。
//
//  ・アプレット内でスレッドを利用するには、Runnableインターフェースを
//    実装する。Runnableインターフェースで定義されているrunメソッドを
//   オーバーライドして、スレッド化する処理を記述する。
//
//  ・スレッド処理はThreadクラスのオブジェクトを通して行われる。
//     スレッドオブジェクトの生成はスレッドコンストラクタで行い、実行開始は
//     Threadクラスのstartメソッド呼び出す。そうすると、runメソッドに記述された
//     処理が独立したスレッドとして実行される。
//
// ●Runnableインターフェース
//  このインターフェースは、Threadクラスで必要なrunメソッドを定義している。
//  このインターフェースを実装したクラスはスレッドをもつことができる。
//
//  ●クラスをスレッドとして実行するための書き方 
//    public class クラス名 extends JApplet implements Runnable {
//      Thread th;
//      // スレッドの開始。
//      public void start() {
//        th = new Thread(this); // スレッドオブジェクトの生成。thisはアプレット
//                               // 自身を指す。これによりアプレットがスレッド
//                               // として扱われる。           
//        th.start(); // スレッドの実行開始。
//      }
//      // 実行する処理。
//      public void run() {
//        処理の本体
//      }
//      // スレッドの停止。
//      public void stop() {
//        th = null; // スレッドオブジェクトの消去。スレッドの停止。
//      }
//    }
//
////////////////////////////////////////////////////////////////////////////////