首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Mutex实例可以让控制器正常工作?

为什么Mutex实例可以让控制器正常工作?
EN

Stack Overflow用户
提问于 2015-07-24 00:01:43
回答 1查看 122关注 0票数 0

这是控制器的一部分(我处理的是ASP.net WebApi2 )。当控制器收到来自客户端的请求时,它会启动并激活一个Mutex实例。在catch块中,我释放了互斥实例(ReleaseMutex方法),但在try块中,我忘记了这样做,它可以工作,它的执行方式与之前发布的一样。为什么呢?

代码语言:javascript
运行
复制
namespace HMMM
{
    public class MYSTERYController : ApiController
    {
        public Mutex Mutec = new Mutex();
        public JObject MYSTERY([FromBody] string  SomeStuff)
        {
            Mutec.WaitOne();//attention
            try
            {
                //blablabla 
                //not released Mutex                  
                return Error.json("TheSameBlaBlaBla");
            }
            catch (Exception e)
            {
                Mutec.ReleaseMutex();//Attention
                return Error.json("SomeCoolError");
            }
        }

    }

} 
EN

回答 1

Stack Overflow用户

发布于 2015-07-24 00:08:24

只是一句忠告。在finally块中释放Mutex,而不是在catch中。这将确保您的Mutex将被释放,而不管是异常还是愉快的场景。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31592533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档