FLVファイルで動作するWebアプリケーションを作成しました。FileChannelを使用して別のスレッドからファイルを個別に検索できますか?
このアプリケーションでは、flvファイルのコンテンツを解析するために作成したライブラリを使用しています。このライブラリはFileChannelを使用してファイルを検索します。
違うスレッドから同じflvファイルを探すようになりました。 スレッド1とスレッド2はともにmovie.flvを同時に探しているとします(私の質問は例の後に続きます)。最後
Thread_1
// Thread_1 moves to position 200 to read something
FileChannel chan1 = new FileInputStream("movie.flv").getFileChannel();
chan1.position(200);
(ちょうど
Thread_1後に実行)
Thread_2
// Thread_2 moves to position 600 to read something else
FileChannel chan2 = new FileInputStream("movie.flv").getFileChannel();
chan2.position(600);
Thread_1ない:
ByteBuffer bb = ByteBuffer.allocate(40);
chan1.read(bb);
Thread_1位置200または位置600から40バイトを読み取りますか? もっと正確には、chan1とchan2独立した(独立して求めることができる)チャネルはありますか?
\場合は、あなたがお勧めすることができます:私は私の賭けは、(残念ながら)の例ではThread_1は、位置600から読み取るしようとしているされていること、のFileChannelはユニークであることを読んdocumentationから
異なるスレッドから独立してファイルを検索する別のアプローチですか?
ありがとうございました!
答えに感謝!それが私に必要な情報を正確に与えるので、私はあなたに投票します。 – Giordano