Board logo

標題: 執行緒 (三) - 多執行緒 [打印本頁]

作者: 周政輝    時間: 2018-5-19 10:12     標題: 執行緒 (三) - 多執行緒

自訂多個類別,繼承Thread類別,建立執行緒。
[attach]4114[/attach]
作者: 蔡季樺    時間: 2018-5-19 11:02

  1. public class Main {

  2.         public static void main(String[] args) {
  3.                 // TODO 自動產生的方法 Stub
  4.                 MyThread1 t = new MyThread1();
  5.                 MyThread2 t2 = new MyThread2();
  6.                 t.start();
  7.                 t2.start();
  8.         }

  9. }
複製代碼
  1. public class MyThread1 extends Thread{
  2.         public void run()
  3.         {
  4.                 for(int i=5;i>=1;i--)
  5.                 {
  6.                         System.out.println(i+"秒!"+Thread.currentThread().getName());
  7.                         try {
  8.                                 Thread.sleep(1000);
  9.                         } catch (InterruptedException e) {
  10.                                 // TODO 自動產生的 catch 區塊
  11.                                 e.printStackTrace();
  12.                         }
  13.                 }
  14.                 System.out.println("時間到!"+Thread.currentThread().getName());
  15.         }
  16. }
複製代碼
  1. public class MyThread2 extends Thread{
  2.         public void run()
  3.         {
  4.                 for(int i=1;i<=5;i++)
  5.                 {
  6.                         System.out.println(i+"秒!"+Thread.currentThread().getName());
  7.                         try {
  8.                                 Thread.sleep(1000);
  9.                         } catch (InterruptedException e) {
  10.                                 // TODO 自動產生的 catch 區塊
  11.                                 e.printStackTrace();
  12.                         }
  13.                 }
  14.                 System.out.println("時間到!"+Thread.currentThread().getName());
  15.         }
  16. }
複製代碼

作者: 林侑成    時間: 2018-5-19 11:10

  1. package qwer;

  2. public class Qwer {

  3.         public static void main(String[] args) throws InterruptedException
  4.         {                        
  5.                 Thread1 a = new Thread1();
  6.                 Thread2 a2 = new Thread2();
  7.                 a.start();
  8.                 a2.start();
  9.         }
  10. }
複製代碼
  1. package qwer;

  2. public class Thread1 extends Thread {
  3.          public void run()
  4.          {
  5.               for(int i=5 ; i>=1 ; i--)
  6.           {
  7.                 System.out.println(i+"秒"+Thread.currentThread().getName());
  8.                 try {
  9.                         Thread.sleep(1000);
  10.                 }
  11.                 catch (InterruptedException e) {
  12.                          // TODO 自動產生的 catch 區塊
  13.                          e.printStackTrace();
  14.                 }
  15.           }
  16.               System.out.println("時間到!"+Thread.currentThread().getName());
  17.          }
  18. }
複製代碼
  1. package qwer;

  2. public class Thread2 extends Thread {
  3.          public void run()
  4.          {
  5.               for(int i=1 ; i<=5 ; i++)
  6.           {
  7.                 System.out.println(i+"秒"+Thread.currentThread().getName());
  8.                 try {
  9.                         Thread.sleep(1000);
  10.                 }
  11.                 catch (InterruptedException e) {
  12.                          // TODO 自動產生的 catch 區塊
  13.                          e.printStackTrace();
  14.                 }
  15.           }
  16.               System.out.println("時間到!"+Thread.currentThread().getName());
  17.          }
  18. }
複製代碼

作者: 陳泓瑜    時間: 2018-5-19 11:16

  1. package tw.kuas.edu.tw;

  2. public class Main {

  3.         public static void main(String[] args) {
  4.                 // TODO 自動產生的方法 Stub
  5.         Thread_0 thread0 = new Thread_0();
  6.         thread0.start();
  7.         Thread_1 thread1 = new Thread_1();
  8.         thread1.start();
  9.         }

  10. }
複製代碼
  1. package tw.kuas.edu.tw;

  2. public class Thread_1 extends Thread{
  3.         public void run()
  4.         {
  5.                 for(int i=1; i<=5; i++)
  6.                 {                       
  7.                         try {
  8.                                 System.out.printf("%d sec at %s \n",i,Thread.currentThread());
  9.                                 Thread.sleep(1000);
  10.                         } catch (InterruptedException e) {
  11.                                 // TODO 自動產生的 catch 區塊
  12.                                 e.printStackTrace();
  13.                         }
  14.                 }
  15.                
  16.         }
複製代碼
  1. package tw.kuas.edu.tw;

  2. public class Thread_0 extends Thread{
  3.         public void run()
  4.         {
  5.                 for(int i=5; i>=0; i--)
  6.                 {
  7.                         try {
  8.                                 System.out.printf("%d sec at %s \n",i,Thread.currentThread());
  9.                                 Thread.sleep(1000);
  10.                         } catch (InterruptedException e) {
  11.                                 // TODO 自動產生的 catch 區塊
  12.                                 e.printStackTrace();
  13.                         }
  14.                 }
  15.                
  16.         }

  17. }
複製代碼

作者: 張健勳    時間: 2018-5-25 19:17

  1. package bbs.istak.org.tw;

  2. public class Main {

  3.         public static void main(String[] args) {
  4.                 new myThread1().start();
  5.                 new myThread2().start();
  6.         }
  7. }

  8. class myThread1 extends Thread
  9. {
  10.         public void run()
  11.         {
  12.                 for( int i=5; i>=1; i--)
  13.                 {
  14.                         try {
  15.                                 Thread.sleep(1000);
  16.                         } catch (InterruptedException e) {
  17.                         }
  18.                        
  19.                         System.out.println(i+"秒"+Thread.currentThread().getName());
  20.                 }
  21.                 System.out.println("Time Out!!!");
  22.                 System.out.println("執行緒名稱:"+Thread.currentThread().getName());

  23.         }
  24.         }

  25. class myThread2 extends Thread
  26. {
  27.         public void run()
  28.         {
  29.                 for( int i=5; i>=1; i--)
  30.                 {
  31.                         try {
  32.                                 Thread.sleep(1000);
  33.                         } catch (InterruptedException e) {
  34.                         }
  35.                        
  36.                         System.out.println(i+"秒"
  37.                                         +Thread.currentThread().getName());
  38.                 }
  39.                 System.out.println("Time Out!!!");
  40.                 System.out.println("執行緒名稱:"+Thread.currentThread().getName());

  41.         }
  42.         }
複製代碼

作者: 黃茂勛    時間: 2018-5-26 12:55

  1. package bbs.istak.org.tw;

  2. public class Main {

  3.         public static void main(String[] args) {
  4.                 Thread_0 tt = new Thread_0();
  5.         Thread_1 tt_2 = new Thread_1();
  6.                 tt.start();
  7.                 tt_2.start();
  8.         }

  9. }
複製代碼
  1. package bbs.istak.org.tw;

  2. public class Thread_0 extends Thread{
  3.    public void run()
  4.    {
  5.            for(int i=5; i>=1; i--)
  6.            {
  7.                    System.out.println(i+"秒"+Thread.currentThread().getName());
  8.                    try {
  9.                         Thread.sleep(1000);
  10.                    } catch (InterruptedException e) {}
  11.              }
  12.            System.out.println("時間到!"+Thread.currentThread().getName());
  13.    }
  14. }
複製代碼
  1. package bbs.istak.org.tw;

  2. public class Thread_1 extends Thread{
  3.         public void run()
  4.            {
  5.                    for(int i=1; i<=5; i++)
  6.                    {
  7.                            System.out.println(i+"秒"+Thread.currentThread().getName());
  8.                            try {
  9.                                 Thread.sleep(1000);
  10.                            } catch (InterruptedException e) {}
  11.                      }
  12.                    System.out.println("時間到!"+Thread.currentThread().getName());
  13.            }
  14. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2