1. 程式人生 > >Java多執行緒Runnable介面與Thread類,以及synchronied關鍵字

Java多執行緒Runnable介面與Thread類,以及synchronied關鍵字

Java多執行緒實現有兩種方式一個是實現Runnable介面一個是繼承Thread類 如果只是為了實現Thread的執行過程,那麼沒有必要從Thread中派生,因為是是實現Runnable介面的物件代表的是一個計算任務,Thread類對應任務的執行者。 如果執行緒類繼承Thread類,則不能繼承其他類,而實現Runnable介面沒有這個問題。 Thread類有很多實用的方法,例如獲得執行緒的ID,執行緒名,執行緒狀態等。而Runnable介面則沒有這麼方便。 兩種方式的啟動方法也不同 MyThreadClass t1=new MyThreadClass(); Thread t2=new Thread(new MyRunnableClass()); t1.start(); t2.start(); synchronied
分為同步方法和同步程式碼塊兩種方式 同步方法只需在方法返回值型別前加上關鍵字synchronized即可。 同步程式碼塊需要為該synchronized關鍵字提供一個物件的引用 synchronized(obj){...}