我想检查以下代码是否能够抵抗ThreadAbortException并且不会导致孤立锁。如果不能,那么在此处避免孤立锁的最佳模式是什么?
ReaderWriterLockSlim _lock = new ReaderWriterLockSlim();
public void DoStaff()
{
_lock.EnterWriteLock();
//Is this place where ThreadAbotException can corrupt my code, or is there JIT optimalization which prevent this from happening???
try
{
...
}
finally
{
_lock.ExitWriteLock();
}
}
根据以下链接http://chabster.blogspot.cz/2013/07/a-story-of-orphaned-readerwriterlockslim.html,有可能(或者至少曾经有过)一种方式可以创建孤立锁,但我运行示例代码一段时间没有成功。
我正在使用.NET 4.0
在Debug和Release模式下的行为有什么区别吗?