輸入java.util.Date; 輸入java.util.Timer; 輸入java.util.TimerTask。 パブリック クラスManyProject { 公共 静的 ボイドメイン(文字列[]引数){ // オブジェクト1の方法作成 Mythread_thread firstThread = 新しい新しいMythread_threadを(); firstThread.start(); // オープンスレッド のSystem.out.println( "********************************" ); // オブジェクト方法2作成 Mythread_run secondThread = 新しい新しいMythread_runを(); // 渡されたクラスのスレッドクラスのコンストラクタのパラメータとしてスレッド・クラス・オブジェクト、第二オブジェクトを作成 スレッドSECOND = 新しい新しいスレッド(secondThread)。 second.start(); // Threadオブジェクトの新しいスレッド開くことである のSystem.out.println(「*****************************を*** " ); / * //メインスレッド方法 {(; iが10 <I ++はiが0 = INT)のために System.out.println( "いくつかのメインスレッド新聞:" + I)。 } * / } } / * 新しいスレッドを作成します。1 ==> Threadクラスの継承* / クラスを Mythread_thread 拡張スレッドは{ // 1、相続スレッド @Override 公共 のボイドの実行(){ // 2は、runメソッドを達成するために // のための(int型I =を0;私は<10; I ++)は{ // 3、カスタムのステートメントを実行します。 // するSystem.out.println( "スレッドクラス継承-スレッドの報告書番号を:"); タイマタイマ= 新しい新しいタイマー(); //は表し3秒後に開始し、2秒に1回の実行さ timer.schedule(新新 MyTask2()、3000,2000を); // } } } / * 新しいスレッドを作成します。方法2 ==> Runnableを実装* / クラス Mythread_runを実装したRunnable { // 。1、、Runnableインタフェースを実装するカスタムクラス @Override 公共 ボイドラン(){ // 2、runメソッドオーバーライドする タイマータイマーを= 新しい新しいタイマー(); //は3秒後に始まりを表し、2秒ごとに一回行われる timer.schedule(新新 MyTask1()、3000,2000 )。 } } / ** *クラス説明:このクラスは、時限タスクを表します * @authorのxiezd *カスタムタイミングタスク、TimerTaskをを継承します * * / クラス MyTask1は延びTimerTaskをを{ // runメソッド内のステートメントは、ステートメントが実行されたときにスケジュールされたタスクを実行することです。 公共 ボイドRUN(){ System.out.println( "今、こんにちは!!です:" + 新しい新しい日付()のtoLocaleString()); } } クラス MyTask2は延びTimerTaskをを{ // runメソッド内のステートメントは、ステートメントが実行されたときにスケジュールされたタスクを実行することです。 公共 ボイドRUN(){ System.out.println( "今:" + 新新しい。日付()のtoLocaleString()); } }
結果:
同時に実行している2つのプロセスが、結果として得られる出力は、ランダムに生成され、一定の順序に従って全く法律を行わないれません。
参考ブログます。https://blog.csdn.net/zyj0813/article/details/78345617