FileReaderを使用してファイルを開くJavaプロセスがあります。別の(Java)プロセスがこのファイルを開かないようにするには、または少なくとも2番目のプロセスにファイルが既に開かれていることを通知するにはどうすればよいですか?これは、ファイルが開いている場合(これが私の問題を解決します)、自動的に2番目のプロセスに例外を発生させますか、それとも何らかのフラグまたは引数を使用して最初のプロセスで明示的に開く必要がありますか?
明確にするために:
フォルダーをリストし、それを処理するためにリスト内の各ファイルを開くJavaアプリがあります。各ファイルを順番に処理します。各ファイルの処理は、それを読み取り、内容に基づいていくつかの計算を行うことで構成され、約2分かかります。同じことを行いますが、代わりにファイルに書き込む別のJavaアプリもあります。これらのアプリを同時に実行できるようにしたいので、シナリオは次のようになります。ReadAppはフォルダーを一覧表示し、ファイルA、B、Cを見つけます。ファイルAを開き、読み取りを開始します。WriteAppはフォルダーを一覧表示し、ファイルA、B、Cを見つけます。ファイルAを開き、それが(例外またはその他の方法で)開いていることを確認して、ファイルBに移動します。ReadAppはファイルAを終了し、Bに進みます。はオープンでCに続きます。WriteAppが t ReadAppが同じファイルを読み取っている間に書き込み、またはその逆。それらは異なるプロセスです。