2

Erlang には flock などのプロセス間 (つまり Linux または Windows プロセス) のロック機構がありますか?

使用方法は次のとおりです。

  • Erlang サーバーがリポジトリの提供を開始し、ファイル ロック (またはその他) を設定します。
  • 別の OS プロセス (別の Erlang サーバーまたはコマンドライン Erlang スクリプト) がリポジトリと対話する場合、ファイル ロックは競合の可能性について警告します。
4

3 に答える 3

1

Erlang では、おそらくこれを解決する別の方法を使用するでしょう。頭に浮かぶことの 1 つは、node()すべてのリポジトリを処理する単一の Erlang を維持することです。lock_mgrリソースロック管理を行うプロセスがあります。

別のノードまたは escript を実行したい場合、ディストリビューションを介して実行中の Erlang ノードに接続し、ロックを要求できます。

于 2013-05-23T11:37:42.427 に答える
0

globalあなたのニーズに合ったモジュールがあります。

global:set_lock/1,2,3

LockRequesterId の ResourceId で、指定されたノード (指定されていない場合はすべてのノード) にロックを設定します。

于 2013-05-22T21:03:35.423 に答える