パッケージzuoYe04; パブリック クラス BuyTicketは実装Runnableをし{ // 合計得票 プライベート 静的の int型の COUNT = 10 ; // グラブ票 プライベート 静的な int型を購入= 0 ; // 静的オブジェクトOBJ =新しいオブジェクト(); @Override 公共 ボイドラン(){ // TODO自動生成されたメソッドスタブ ながら、(真){ 同期(本){ 場合(> 0をカウント{) してみてください{ Thread.sleep( 50 )。 } キャッチ(InterruptedExceptionある電子){ // TODO自動生成キャッチブロック e.printStackTrace(); } System.out .println(。にThread.currentThread()のgetName() + "グラブ部" +(++買い)+ "票、そこに残っている:" +(--count)+ "チケット" ); もし( "黄牛党" .equals(にThread.currentThread()のgetName())){ 返します。 } } 他{ System.out.println(「最後に票をつかむ!」); リターン; } } } } }
パッケージzuoYe04; パブリック クラスのテスト{ パブリック 静的 ボイドメイン(文字列[]引数){ BuyTicket B = 新しいBuyTicket()。 T1スレッド = 新しい新しいスレッド(B、「ピーチランニング」)。 T2スレッド = 新しい新しいスレッド(B、「投票の投票」)。 T3スレッド = 新しい新しいスレッド(B、「ダフ屋」); t1.start(); t2.start(); t3.start(); } }