Ⅶテストレポート
アナログ鉄道駅の切符プログラムが完了しています。
要件:
投票1000(1)総数;
(2)同時にチケット窓10を開始した;
(3)第2の遅延プロシージャチケット;
(4)チケットやチケットを購入負の数を販売する場合は、表示されないことができます。
パッケージ愛; クラス希望が実装{Runnableを 静的な int型のダニ= 1000 ; 公共 ボイド(){実行 のための(int型私は++;;私は100を<I = 0を{) 同期(この{) してみてください{ Thread.sleep( 100 )。 } キャッチ(InterruptedExceptionある電子){ e.printStackTrace(); } 場合(> 0ティック){ System.out.println(にThread.currentThread()のgetName()。 + "チケットが成功すると、チケット番号" +は、ダニ)。 ダニ - ; } 他{ System.out.println( "申し訳ありませんが、我々は完売しました!" ); } + } } } }。 パブリック クラス名{ パブリック 静的 ボイドメイン(文字列[]引数){ MT希望 = 新しい新しい希望(); 新しい新しいスレッド(MT、 "窓1" ).start(); 新しい新しいスレッド(MT、 "ウィンドウ2" ).start(); 新しい新しいスレッド(MT、 "窓3" ).start (); 新しい新しいスレッド(MT、 "ウィンドウ4" ).start(); 新しい新しいスレッド(MT、 "ウィンドウ5。" ).start(); 新しい新しいスレッド(MT、 "ウィンドウ6" ).start(); 新しい新しいスレッド(MT、 "窓7。" ).start(); 新しい新しいスレッド(MT、 "ウィンドウ8" ).start(); 新しい新しいスレッド(MT、 "ウィンドウ9" ).start(); 新しい新しいスレッド(MT、「ウィンドウ10」)。開始(); } }
それはスタートランタイムを見えますが、先生がデータを防ぐために、複数のスレッドまたはスレッド・ロックを同期させるために言っクラスでそれを考える、(複数の投票などを販売)の端末が発生したときに転送され、そのインタフェースを追加することはできませんが、これは、マルチスレッドの同期でした。
エラーのスクリーンショット
クラスの概要
:実行可能なインターフェイスステップは以下のスレッドを作成することによって実行される
実行可能なインタフェースを実装する1、定義されたクラスを、実行()クラスのメソッドを実装します。
図2は、パラメータ渡さThreadクラスのコンストラクタとして実装スレッドオブジェクト、オブジェクトクラスと、Runnableインタフェースを確立します。
3、スレッドクラスのstart()メソッドによってスレッドを開始します。
実行可能なインタフェースを実装する1、定義されたクラスを、実行()クラスのメソッドを実装します。
図2は、パラメータ渡さThreadクラスのコンストラクタとして実装スレッドオブジェクト、オブジェクトクラスと、Runnableインタフェースを確立します。
3、スレッドクラスのstart()メソッドによってスレッドを開始します。
Threadクラスの継承のRunnableを相対的な利点を実装
1.単一継承Threadクラスの継承の制限を避けてください。
2.Runableは別々にパッケージオブジェクトのスレッドにオブジェクト指向のインターフェイスとより一致表示されます。
3.Runnableインターフェースは、結合スレッドオブジェクトとスレッドのタスクを減らすように見えます。だから、スレッドを作成する方法は、Runnableインタフェースを使用します。
JavaのIO
--fileクラスアクションファイル
ファイル自体の独特な表現がクラスFileクラスに関連しているとIOパッケージを通して、クラスは、ファイルまたは削除ファイルやその他の一般的な操作を使用して作成することができます。
いいえ。 | メソッドまたは定数 | タイプ | 説明 |
---|---|---|---|
1 | public static final String型のpathSeparator | 定数 | これは、パス区切り文字を表します(ウィンドウは、次のとおりです。「;」) |
2 | 公共の最終文字列の区切り | 定数 | これは、(:「」窓がある)パス区切り文字を表し |
3 | 公開ファイル(文字列のパス名) | 構造 | フルパスを渡し、Fileクラスのオブジェクトを作成します |
4 | 公開ファイル(ファイルの親、文字列の子) | 構造 | 指定された親のパスに応じてサブフォルダを作成します。 |
5 | パブリックブールでCreateNewFile()はIOExceptionをスローします | 一般 | 新しいファイルを作成します。 |
6 | パブリックブールは、(削除) | 一般 | ファイルを削除します |
7 | パブリックブールが存在します() | 一般 | ファイルが存在するかどうかを確認 |
8 | パブリックブールisDirectory() | 一般 | 与えられたパスがディレクトリであるかどうかを判断 |
9 | 公共長い長さ() | 一般 | ファイルのサイズを返します。 |
10 | 公共のString []リスト() | 一般 | 全体の指定されたディレクトリのリストの内容が、の名前が表示されます |
11 | 公共ファイル[] LISTFILES() | 一般 | 指定されたディレクトリリストの内容全体は、パスを示しています |
12 | パブリックブールMKDIR() | 一般 | ディレクトリを作成します |
13 | パブリックブールmkdirs() | 一般 | マルチレベルのディレクトリを作成します。 |
14 | パブリックブールrenameTo(ファイルDEST) | 一般 | 既存のファイルの名前を変更するには |
15 | 公共長いLASTMODIFIED | 一般 | ファイルの最終更新日時を取得します |
16 | 公共ファイルgetParentFile() | 一般 | 現在のパスの親パスを取得します。 |