2012-01-12 30 views
1

假设我有以下代码临界区外部修改锁定对象

Rectangle rect = new Rectangle(); 
lock(rect) 
{ 
    ---- 
    --- 
    --- 
} 

能否RECT对象,或者它的属性在某些其它线程修改,而一个线程获取锁定,并且在临界区执行。

回答

2

能否RECT对象,或者它的属性在某些其它 线程修改,而一个线程获取锁定,并且在 关键部分执行。

如果所有代码访问该对象的第一尝试获取同一个锁,然后号

没有锁定代码包装,然后是另一个线程可以(并且在某些点会)写入到rect结果不一致。