/** 題目:判斷列印的 "one" or "two" ?
* * 1. 兩個普通同步方法,兩個執行緒,標準列印, 列印? //one two
* 2. 新增 thread.sleep() 給 getone() ,列印? //one two
* 3. 新增普通方法 getthree() , 列印? //three one two
* 4. 兩個普通同步方法,兩個 number 物件,列印? //two one
* 5. 修改 getone() 為靜態同步方法,列印? //two one
* 6. 修改兩個方法均為靜態同步方法,乙個 number 物件? //one two
* 7. 乙個靜態同步方法,乙個非靜態同步方法,兩個 number 物件? //two one
* 8. 兩個靜態同步方法,兩個 number 物件? //one two
* * 執行緒八鎖的關鍵:
* ①非靜態方法的鎖預設為 this, 靜態方法的鎖為 對應的 class 例項
* ②某乙個時刻內,只能有乙個執行緒持有鎖,無論幾個方法。 */
public
class
testthread8monitor
}).start();
new thread(new
runnable()
}).start();
/*new thread(new runnable()
}).start();*/}
}class
number
catch
(interruptedexception e)
system.out.println("one");
}public
synchronized
void gettwo()
public
void
getthree()
}
JUC 執行緒八鎖
1,乙個物件裡面如果有多個synchronized方法,某乙個時刻內,只要乙個執行緒去呼叫其中的乙個synchronized方法了,其它的執行緒都只能等待,換句話說,某乙個時刻內,只能有唯一乙個執行緒去訪問這些synchronized方法。2,鎖的是當前物件this,被鎖定後,其它的執行緒都不能進入...
JUC 執行緒八鎖
package org.meng.juc 題目 判斷列印 one or two 1.兩個普通同步方法,兩個執行緒 標準列印,列印?one two 2.新增thread.sleep 3000 給getone 列印?3s 後列印 one two 3.新增普通方法 getthreee 列印?先列印thre...
java多執行緒 執行緒八鎖
乙個物件裡面如果有多個synchronized方法,某乙個時刻內,只要乙個執行緒去呼叫其中的乙個synchronized方法了,其它的執行緒都只能等待,換句話說,某乙個時刻內,只能有唯一乙個執行緒去訪問這些synchronized方法鎖的是當前物件this,被鎖定後,其它的執行緒都不能進入到當前物件...