RandomAccessFile
複数のスレッドが同時に読み取り/書き込み操作を実行できるようにする方法はありますか? 同期オブジェクトを使用する必要がありますか、または同期を使用せずに実行できますか?
質問する
4181 次
3 に答える
1
エリックが言ったように、同期メカニズムが必要です。そうしないと、リーダー/ライターの問題になります。
速度を上げたい場合は、複数の読み取りをまとめて行うことができます。書き込みが必要なときはいつでも、新しい読み取り要求を停止し、既存の要求を完了させ、ロックを取得し、ファイルに書き込み、ロックを解放します。
ReentrantReadWriteLockが役立つ場合があります。
于 2013-03-11T13:56:42.220 に答える
1
ランダム アクセス ファイルは、ランダム アクセス メモリと同じように動作します。つまり、あらゆる種類のデータ競合に対してオープンです。したがって、異なるスレッドがファイルの異なる領域で動作することが確実でない限り、絶対に同期を使用する必要があります。
于 2013-03-11T13:58:25.863 に答える
0
ある種の同期方法を使用する必要があります。ファイル内のファイル位置は1つだけです。同期なしで同時アクセスを試みた場合、動作はせいぜい予測できません。
于 2013-03-11T13:52:55.317 に答える