1
对于使用名称锁定进行锁定是使用命名互斥锁的替代方法吗?通过名称锁定(互斥选择)
锁定是为Web应用程序防止在同名资源上多次并行执行操作,所以我需要按名称锁定。 IE浏览器。可以同时在不同名称的资源上执行该操作。资源名称是一个以url形式出现的字符串。可以说,资源只是一个实体。
被命名为mutex这个最好的选择吗?不是太重?
对于使用名称锁定进行锁定是使用命名互斥锁的替代方法吗?通过名称锁定(互斥选择)
锁定是为Web应用程序防止在同名资源上多次并行执行操作,所以我需要按名称锁定。 IE浏览器。可以同时在不同名称的资源上执行该操作。资源名称是一个以url形式出现的字符串。可以说,资源只是一个实体。
被命名为mutex这个最好的选择吗?不是太重?
如果您觉得沉重是指性能影响,那么与通常处理Web请求的成本相比,使用已命名的互斥量应该可以忽略不计。
我认为命名互斥是一个很好的选择,因为那样你独立于你的服务托管方式(无论是单个还是多个进程取决于服务器,而不取决于你的服务),特别是如果你的服务是一个可能被许多Web应用程序使用的库。除了被限制在一个进程之外,lock
还需要一个用于锁定的共享对象引用,所以您需要一个对所有线程/请求都可见的引用,这是一个互斥的名称(事先已知)优雅地解决的问题。
话虽如此,当保护一个资源时,最好保护资源本身而不是资源的入口点。例如,如果您的服务保护对数据库某些部分的并发访问,那么最好使用具有适当隔离模式的数据库事务,或者如果您在文件系统中保护某些内容,则获得对文件的独占访问等
向我们展示一些代码。 – Nick 2013-05-09 07:41:59
为什么你需要一个命名互斥锁来锁定一个字符串?说真的,只是坚持一个正常的互斥体,你会很好。被称为Mutex的是用于跨多个进程的系统范围锁定。 – 2013-05-09 07:43:13
你要保护什么样的资源? – 2013-05-09 07:44:13