《java多執行緒程式設計技術核心》讀書筆記6

2021-08-01 06:48:53 字數 1089 閱讀 2101

package multithread;

/** * join()方法的使用

* *

*/class mythread extends thread

catch(interruptedexception e)

}}public class lesson8 catch (interruptedexception e)

}}

package multithread;

/** * join(int long)和sleep(int long)的區別

* */

class threada1 extends thread

@override

public void run()

}catch(interruptedexception e)

}}class threadb1 extends thread

catch(interruptedexception e)

}synchronized public void bservice()

}class threadc1 extends thread

@override

public void run() }

public class lesson9 catch(interruptedexception e)

}}

結論:1、join和synchronized區別是:join()在內部使用wait()方法進行等待,而synchronized關鍵字使用的是「物件監視器」原理作為同步。

2、join()方法與interrupt()方法如果相遇,則會出現異常。

3、join(int long)和sleep(int long)的區別:由於join()內部呼叫wait(),當前執行緒的鎖被釋放,其他執行緒就可以呼叫此執行緒的同步方法。thread.sleep()方法卻不釋放鎖。

《java多執行緒程式設計技術核心》 讀書筆記4

等待通知機制wait notify 的用法 class mythread1 extends thread public void run catch interruptedexception e class mythread2 extends thread public void run publi...

《java 多執行緒程式設計核心技術》讀書筆記六

reentrantlock reentrantreadwritelock reentrantlock lock unlock 這兩個方法之間的 為執行緒同步執行 持有相同鎖的方法均為同步執行 condition await 等同 object中的wait signal 等同object中的notif...

漫談C Builder多執行緒程式設計技術

在很多情況下,可能需要為程式建立執行緒。這裡給出其中一些可能性 1 如果建立的是乙個多文件介面 multiple document inte ce,mdi 程式,那麼為每個視窗分配乙個執行緒就顯得十分重要了,例如,對於乙個通過多個modem同時連線到多個主機的mdi通訊程式而言,如果每個視窗都有它自...