Threadクラスは、マルチスレッドの作成継承します
1 パッケージcn.ftf.thread; 2 / ** 3。 *マルチスレッド実装の継承は、マルチスレッド、継承スレッドをスレッド実行メソッドをオーバーライド 4。 * @author 家はティンフライ 5。 * 6 * / 7。 パブリック クラスは StartThread 延びスレッド{ // オブジェクトがスレッドを継承 8。 パブリック 静的 ボイドメイン(文字列[]引数){ 9。 StartThread ST = 新しい新しい StartThread(); //は、オブジェクトインスタンス 10 st.startを(); // 開始方法マルチスレッドサブオブジェクトにより開始します 11 12 のために(INT I = 0; I 20は、<; I ++は){ 13である ( "サイドコーディング"のSystem.out.println ); 14 } 15 } 16 公共 ボイド RUN(){ // オブジェクトを書き換えるRUN方法 。17 用(INT I = 0;私は20 <; Iは++ ){ 18で のSystem.out.println( "音楽を聴きながら" ); 19 } 20 } 21 }
複数のスレッドを作成するには、Runnableインタフェースを実装
。1 パッケージcn.ftf.thread; 2 / ** 3。 *複数のスレッド方法:Runnableをを達成するために、メソッドのオーバーライドラン 4 *、単一継承の制限を回避共有リソースを容易にするために、 5。 * @author 家はティン飛ぶ 6 * 7 * / 8 パブリック クラス StartRun 実装のRunnable { 9 10 パブリック 静的 ボイドメイン(文字列[]引数){ 11 / * 12であるが 、//実行される方法 13である StartRun StartRun新しい新規ST =(); //実装するクラスのオブジェクトを作成し 14に スレッドのスレッド新しい新しいT =( ST); //プロキシクラスオブジェクトの作成 15 )(t.startを; //開始 16 * / 17 18である // 匿名または単純な書き込み、、の3 。19は、 新しい新しいスレッド(新しい新しいStartRun())スタート();. 20は 21である ため(INT ; I 20は、<I ++はI = 0 {) 22である システム。 out.printlnを( "側コーディング" ); 23である } 24 } 25 @Override 26は、 公共 ボイドRUN(){ 27 のために(int型 I = 0; Iは、20 <であり; Iは++ ){ 28 のSystem.out.printlnは(「曲を聴きます" ); 29 } 30 31です } 32 33 }
Threadクラスを継承するRunnableを相対を実装し、状況が(例えばグラブ票など)同じリソース上で動作する複数のスレッドで同じであり、単一のJavaの継承に起因する制限を回避します。
実用的なアプリケーションで、ケースは継承されたクラスのスレッドよりも一般的、Runnableインタフェースの方法を実装する複数のスレッドを作成します