Java synchronized引數的討論

2021-07-24 19:42:58 字數 1469 閱讀 3660

/**

* synchronize關鍵字引數測試類

* * synchronized**塊的測試:

* synchronized關鍵字引數必須是多個執行緒共享的變數,才能達到同步目的

* 例如:

* 1. 如果用了類裡面的乙個屬性object作為鎖,由於這個屬性

* 每乙個例項化物件都有乙份,所以執行發現3個執行緒都沒有同步

* 2. 如果用了類物件的class物件或者是類的靜態屬性作為鎖,

* 由於這個物件是類共享的,所以同乙個mythread1類的例項能實現同步

* 但與其他類仍不能實現同步

* 3. 如果使用了關聯的共享物件作為鎖物件,由於這個物件所有執行緒共享,

* 所以所有類都實現了同步

* * synchronized方法體的測試

* 4. 在方法定義時加上synchronize,並沒有導致t4,和t5的同步

* 5. 在其他類裡面組合t4, 呼叫t4的synchronized方法, 同步執行

* 說明synchronized方法的鎖物件為該類的例項化物件, 相當於

* synchronized(this)

* * created by shiyanzhe on 2016/11/22.

*/public class synchronizedtest

}class mythread1 extends thread

@override

public void run() catch (interruptedexception e)

system.out.println(getname() + ": " + i);}}

}}class mythread2 extends thread

@override

public void run() catch (interruptedexception e)

system.out.println(getname() + ": " + i);

}//}

}}class mythread44 extends thread catch (interruptedexception e)

system.out.println(name + ": method1: " + i);}}

public synchronized void method2(string name) catch (interruptedexception e)

system.out.println(name + ": method2: " + i);}}

@override

public void run()

}class mythread55 extends thread

@override

public void run()

}

java synchronized的幾個規則

對synchronized this 的一些理解 一 當兩個併發執行緒訪問同乙個物件object中的這個synchronized this 同步 塊時,乙個時間內只能有乙個執行緒得到執行。另乙個執行緒必須等待當前執行緒執行完這個 塊以後才能執行該 塊。二 然而,當乙個執行緒訪問object的乙個sy...

java synchronized我的理解

拋磚引玉 以下是我對同步的理解 有執行緒的地方就有同步,有同步的地方就有物件監視器。要記住 執行緒可以繫結到任意物件上,執行緒可以和物件關聯這個機制就是同步 通俗講 可以把執行緒掛到任意物件上,但是所有掛在此物件上的執行緒,同一時刻只有乙個執行緒能到鎖,得到鎖的執行緒才能繼續執行 synchroni...

日誌 怎樣的男人才會討美女喜歡?

如今在網上,美女更容易寂寞與憂傷,己成共識。那麼這究竟是怎樣造成的呢,我想除了少數美女過於自戀過於封閉自己等原因之外,始終沒有遇到有品位的心儀之人也是其重要原因之一,那麼什麼樣的男人才稱得上有品位呢?我想最起碼以下幾點恐怕是缺一不可。作為優秀的男人,你首先要具善心夠真誠。這是乙個品位之人的先決而必備...