c# - 多个对象上的多个独立锁

标签 c# multithreading asp.net-web-api locking

Web API 服务器后端有几个文件夹。它们每个都是一个 git 存储库。让我们称呼他们吧

  • 项目1
  • 项目2
  • 项目3

如何在服务器上创建锁定,以便项目中只有一个用户(线程)可以使用特定文件夹?目前我已经使用静态对象和监视器类实现了简单的锁定。但在这种情况下,对文件夹的访问在全局级别上被锁定,而锁定应该独立地应用于每个文件夹。

哪种 .NET 线程工具最适合我的情况?

最佳答案

全局锁定事物需要 Mutex .

您可以使用前缀“Global\”为互斥锁指定一个全局唯一的(在计算机上)名称(例如 “Global\\project1”“Global\\project2 ""Global\\project3") 并查看它是否被其他人使用。

有一个关于如何完美使用的可靠线索 here .

关于c# - 多个对象上的多个独立锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42293703/

相关文章:

c# - 在 SSL 包装器的本地用户连接之后或之前建立远程 SSL 连接?

python-3.x - 如何使用并发.future 池线程执行器为 Subprocess.run 设置 shell=True

c++ - 即发即弃 std::thread 对象自行清理

c# - 如何为 HttpClient (WinForms) 设置默认的 json 序列化设置

c# - 如何使用 AngularJS、asp.net web API 上传文件并将文件上传保存到 SQL

c# - 我可以检查操作是否是 View 中的子操作吗?

c# - 如何为动态添加的按钮创建方法。 ASP.NET C#

c# - 如何通过winForms控制iTunes

java - 难以理解关闭 Hook 何时执行以及如何终止 ExecutorService

c# - 未经授权的 webapi 调用返回登录页面而不是 401