テストコード:
パッケージDEMO2。 パブリッククラスSaleTickerが実行可能を実装{ 公共のint合計= 1000。 公共int型のカウント= 0; @Override ます。public void実行(){ (合計> 0){しばらく 同期(本){ (合計> 0){場合 {試す のThread.sleep(1000); }キャッチ(InterruptedExceptionある電子){ e.printStackTrace(); } ++数えます。 total--; System.out.println(にThread.currentThread()のgetName()+ "\トン当前票号:"。+カウント)。 } } } } }パッケージDEMO2。 パブリッククラスSaleTickerが実行可能を実装{ 公共のint合計= 1000。 公共のintカウント= 0; @Override ます。public void実行(){ (合計> 0){しばらく 同期(本){ (合計> 0){場合 {試す のThread.sleep(1000); }キャッチ(InterruptedExceptionある電子){ e.printStackTrace(); } ++数えます。 total--; System.out.println(にThread.currentThread()のgetName()+ "\トン当前票号:"。+カウント)。 } } } } } パッケージDEMO2。 パブリッククラスTest { パブリック静的な無効メイン(文字列[] args){ SaleTicker ST =新しいSaleTicker()。 以下のために(INT i = 1; iは<= 10; I ++){ 新しいスレッド(ST、 "售票点" + I).start();; } } }
スクリーンショット実験コード:
スクリーンショットの結果:
週ナイン概要:
今週の主学習マルチスレッドのJava入力と出力。
2主にマルチスレッド:
1.スレッドクラスの継承。
実装2つの実行可能なインターフェイス。
()メソッドは、マルチスレッドを開始する開始。
ラン()はメインマルチスレッドです。
2つの違い:
スレッドがリソースを共有することはできません。
リソースの共有を実現するために実行可能。
Java入力および出力:
主な用途と定数をFlile: