////////////////////////////////////////////////////////////////////////////////
//  << j511b.java >>
//
//  スレッド(1):スレッドの作成(Runnableインターフェースを実装する方法)
//  
//  Runnableインターフェースを実装する方法を確認する。
//
//  (1)スレッド(Thread1)の定義。
//  (2)スレッドの作成。
//  (3)スレッドの実行。
//  (4)mainメソッドの実行。

// ●Threadクラスのコンストラクタ
//    public Thread(Runnable obj)
//     機能:Runnableオブジェクトobjを使ってThreadオブジェクトを作成する。
//
////////////////////////////////////////////////////////////////////////////////

//(1)
class Thread1 implements Runnable { 
  public void run() { // 処理の本体。
    for( int i=1; i<=16; i++ ) { 
      System.out.println("スレッド(" + i + ")");
    }
  }
}

class j511b {
  public static void main(String args[]) {

    Thread1 r1 = new Thread1();
    Thread th1 = new Thread(r1); //(2)

    th1.start(); //(3)

    for( int i=1; i<=16; i++ ) { 
      System.out.println("mainメソッド(" + i + ")"); //(4)
    }

  }

}
実行結果
% javac j511b.java
% java j511b
mainメソッド(1)
mainメソッド(2)
mainメソッド(3)
mainメソッド(4)
mainメソッド(5)
mainメソッド(6)
mainメソッド(7)
mainメソッド(8)
mainメソッド(9)
mainメソッド(10)
mainメソッド(11)
スレッド(1)
スレッド(2)
スレッド(3)
スレッド(4)
スレッド(5)
スレッド(6)
スレッド(7)
スレッド(8)
スレッド(9)
スレッド(10)
スレッド(11)
スレッド(12)
スレッド(13)
スレッド(14)
スレッド(15)
スレッド(16)
mainメソッド(12)
mainメソッド(13)
mainメソッド(14)
mainメソッド(15)
mainメソッド(16)