同步塊與同步方法區別示例

2021-08-25 16:31:41 字數 766 閱讀 7144

**示例:

public class synctest

public static void test1()

catch (interruptedexception e)

system.err.println("====");

system.err.println("test1");}}

public static synchronized void test2()

}class t1 extends thread

}class t2 extends thread

}

執行結果:

****

test2

等待5秒

====

test1

當使用同步方法時

public static synchronized void test1()

catch (interruptedexception e)

system.err.println("====");

system.err.println("test1");

}

執行結果:

等待5秒

====

test1

****

test2

[b]結論:

同步方法將當前物件做為同步鎖,同步鎖生效後該物件內所有的同步方法都不可被呼叫。[/b]

執行緒同步塊跟同步方法的區別

同步 塊,當多個執行緒訪問同一物件object中的synchronized this 時,同一時刻只能乙個執行緒訪問synchronized this 同步 塊中內容,其他執行緒可以訪問該object中非synchronized this 同步 塊,最關鍵的是,其他執行緒在乙個執行緒訪問同步 塊時,...

同步塊和同步塊索引

微軟在設計基本框架時充分考慮了執行緒同步的問題,其結果就是clr為每乙個堆內物件都提供了支援執行緒同步的功能,這是同步機制的雛形。但是對每個堆內物件都分配同步塊有乙個較大的弊端,就是這樣增大了記憶體的消耗。在一般的系統中,需要同步機制支援的物件可能只佔少數,這樣對於大多數物件來說,乙個同步塊的記憶體...

JAVA 同步監視器 同步塊和同步監視方法

同步監視器 監視器可以看作是包含乙個特殊房間的建築物。這個特殊的房間一次只能容納乙個客戶 執行緒 這個房間通常包含一些資料和 如果客戶想要占用這個特殊的房間,他必須先進入走廊 入口 等待。排程程式將選擇乙個基於一些標準 例如。先進先出 如果他因為某種原因被停職,他將被送到等候室,並安排稍後重新進入特...