草庐IT

programLock

全部标签

c# - 尝试锁定问题

我有一个问题..如果我有这样的东西可以吗:try{lock(programLock){//somestuff1}}catch(Exceptionex){//stuff2}我很好奇如果"somestuff1"导致异常,programLock是否仍然保持锁定状态? 最佳答案 不会,会释放锁,lock大致相当于这样:try{Monitor.Enter(programLock);//somestuff1}finally{Monitor.Exit(programLock);}(意思是如果抛出异常,Monitor.Exit将在您退出lock语句