一直以為lock 一個實例就可以了,沒想到實例的類型還是有區別的
static object lockObjStatic = new object();
object lockObj = new object();
public void test()
{
object lockObjtemp = new object();
//lockObjtemp 無論是否同一個對象,鎖都不起作用
//lockObj 同一個對象下鎖起作用,不通的對象下鎖不起作用
//lockObjStatic 不管同一個對象還是非同一個對象鎖都起作用
lock (lockObjStatic) //正常用鎖的時候,一定要鎖定私有靜態字段
{
add();
}
}
