Delphi で記述されたコマンド ライン ツールがあります。このツールは、XML ファイルにノードを挿入してすぐに終了します。ツールの複数のインスタンスを同時に実行し、同じ XML にノードを挿入できるようにする必要があります。
この目的を達成するために、単純なファイル「ミューテックス」を導入しました。このツールは、XML に書き込む前に 1 つの一時ファイルを作成し、書き終わったら一時ファイルを削除します。そのため、別のインスタンスが実行されると、この一時ファイルの存在がチェックされ、削除されるまで待機します。次に、一時ファイルを再度作成し、XML に書き込み、一時ファイルを削除します。
問題は、これが正常に機能するのは、2 ~ 3 個のインスタンスが同時に XML ファイルに書き込もうとした場合だけです。さらにインスタンスがある場合、それらのいくつかは永久に待機し、ノードを XML に追加することはありません。
多数のインスタンスを同時に実行して XML に書き込んで動作させるためのより良い方法はありますか?