JavaはThreadとRunnableのスレッドを使って方法を比較します。


本論文の例は、JavaがThreadとRunnableを使用するスレッド実現方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
Threadを使ってマルチスレッドのアナログ鉄道チケットシステムを実現します。
1コード

public class ThreadDemo
{
  public static void main( String[] args )
  {
    TestThread newTh = new TestThread( );
    //             
    newTh.start( );
    newTh.start( );
    newTh.start( );
    newTh.start( );
  }
}
class TestThread extends Thread
{
  private int tickets = 5;
  public void run( )
  {
    while( tickets > 0 )
    {
      System.out.println( Thread.currentThread().getName( ) + "     " + tickets );
      tickets -= 1;
    }
  }
}

2運転
Thread-0出札5
Thread-0出札4
Thread-0出札3
Thread-0出札2
Thread-0出札1
Exception in thread「main」java.lang.Ilegal ThreadStation Exception
    at java.lang.Thread.start(Thread.java:708)
    at ThreadDemo.main(ThreadDemo.java:16)
3説明
スレッドは一回しか起動できません。
二メーン法では4スレッドが生成されます。
1コード

public class ThreadDemo
{
  public static void main(String[]args)
  {
    //        ,         
    new TestThread( ).start( );
    new TestThread( ).start( );
    new TestThread( ).start( );
    new TestThread( ).start( );
  }
}
class TestThread extends Thread
{
  private int tickets = 5;
  public void run( )
  {
    while (tickets > 0)
    {
      System.out.println(Thread.currentThread().getName() + "     " + tickets);
      tickets -= 1;
    }
  }
}

2運転
Thread-0出札5
Thread-0出札4
Thread-0出札3
Thread-0出札2
Thread-0出札1
Thread-1出札5
Thread-1出札4
Thread-1出札3
Thread-1出札2
Thread-1出札1
Thread-2は切符を売ります
Thread-2出札4
Thread-2出札3
Thread-2出札2
Thread-2出札1
Thread-3は切符を売ります
Thread-3は切符を売ります
Thread-3出札します
Thread-3出札2
Thread-3出札1
三Runnableインターフェースを使ってマルチスレッドを実現し、リソース共有を実現する。
1コード

public class RunnableDemo
{
  public static void main( String[] args )
  {
    TestThread newTh = new TestThread( );
    //        ,           
    new Thread( newTh ).start( );
    new Thread( newTh ).start( );
    new Thread( newTh ).start( );
    new Thread( newTh ).start( );
  }
}
class TestThread implements Runnable
{
  private int tickets = 5;
  public void run( )
  {
    while( tickets > 0 )
    {
      System.out.println( Thread.currentThread().getName() + "     " + tickets );
      tickets -= 1;
    }
  }
}

2運転
Thread-0出札5
Thread-0出札4
Thread-0出札3
Thread-0出札2
Thread-0出札1
もっと多くのjava関連の内容に興味がある読者は当駅のテーマを調べてもいいです。「Javaは対象プログラムに向かって入門と階段教程を設計します。」、「Javaデータ構造とアルゴリズム教程」、「Java操作DOMノード技術のまとめ」、「Javaファイルとディレクトリの操作テクニックのまとめ」、「Javaキャッシュ操作テクニックのまとめ
本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。