erlang进程间锁机制(如flock)

标签 erlang flock interprocess

Erlang 是否有进程间(我指的是 Linux 或 Windows 进程)锁定机制,例如 flock ?

用法如下:

  • Erlang 服务器开始为存储库提供服务,并放置一个文件锁(或其他)
  • 如果另一个操作系统进程(另一个 Erlang 服务器或命令行 Erlang 脚本)与 repo 交互,则文件锁会警告可能存在的冲突

最佳答案

如果你的意思是Erlang进程之间,不,它有进程间锁机制。这不是 Erlang 控制共享资源访问的方式。一般来说,如果你想控制对资源的访问,你有一个管理资源的 Erlang 进程,所有对资源的访问都通过这个进程。这意味着我们不需要进程间锁或互斥锁来控制访问。它也是安全的,因为您无论如何都无法“作弊”和访问,并且管理过程可以检测到客户端是否在交易过程中死亡。

关于erlang进程间锁机制(如flock),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16652664/

相关文章:

在 Erlang/Elixir 中用多个 png 文件合成 jpeg 图像

deployment - 如何以标准方式处理 mnesia 模式?

concurrency - 并发 Prime 生成器

linux - 如何防止 shell 脚本的多个实例?

c++ - 使用进程间映射 boost 模板错误

list - 缺点运算符 "|"在 Erlang

php - PHP如何处理同一个独占锁的两个进程?

linux - 如何防止 linux flock(2) 使独占锁请求挨饿?

c - 文件锁定与信号量

c# - Process.Start 与 C# 中的 Process `p = new Process()`?