Java Multiple Thread

SCJP 考完之後, 就不曾再去碰過 Multiple Thread 的東西了,
直到最近, 因為專案的需要, 才又有機會碰上他, 一開始是為了同步化問題,
後來卻演變成, 執行效率不佳!!…
不過, 執行效率不佳卻莫名其妙!!….
終於搞懂了, 原來是 同步化的部分我誤會了!!…
親手寫了一個範例程式, 當然目的就是希望自己未來不會再犯下這種錯誤!!
 
public class TestSync {
    public static void main (String [] args){
      TestRunnable tb = new TestRunnable();
      Thread [] ths = new Thread[100];
      for (int i = 0; i<ths.length; i++){
          ths[i] = new Thread(tb,"tb_"+i);
          ths[i].start();
      }
      // 等待結束
      for (int i = 0; i<ths.length; i++){
          try {
              ths[i].join();
          } catch(InterruptedException ie) {
           
          }
      }
    }
}
class TestRunnable implements Runnable {
   private String rec = "";
  
   public void run(){
      synchronized(rec) {          
         rec = Thread.currentThread().getName();
         System.out.println("Hello–>" + rec);
      }
   }
}
廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s