Erlang には flock などのプロセス間 (つまり Linux または Windows プロセス) のロック機構がありますか?
使用方法は次のとおりです。
- Erlang サーバーがリポジトリの提供を開始し、ファイル ロック (またはその他) を設定します。
- 別の OS プロセス (別の Erlang サーバーまたはコマンドライン Erlang スクリプト) がリポジトリと対話する場合、ファイル ロックは競合の可能性について警告します。
Erlang には flock などのプロセス間 (つまり Linux または Windows プロセス) のロック機構がありますか?
使用方法は次のとおりです。
Erlang では、おそらくこれを解決する別の方法を使用するでしょう。頭に浮かぶことの 1 つは、node()
すべてのリポジトリを処理する単一の Erlang を維持することです。lock_mgr
リソースロック管理を行うプロセスがあります。
別のノードまたは escript を実行したい場合、ディストリビューションを介して実行中の Erlang ノードに接続し、ロックを要求できます。
global
あなたのニーズに合ったモジュールがあります。
global:set_lock/1,2,3
LockRequesterId の ResourceId で、指定されたノード (指定されていない場合はすべてのノード) にロックを設定します。