1

Windows では、単一のアプリケーションから同じファイルへの複数の InputStream を開くことができますか? 私は今 Linux でプログラミングをしていますが、プロセス全体を台無しにする前に知りたいのです....

基本的に、zipファイルを解析しています。解凍、読み取り、書き込み、および md5sum のタスクを 2 つの別々のコアにスレッド化して、プロセスを続行し、同じことを行う次のコアに進むことができるようにしたいと思います。

Linux ではこれを実行できますが、Windows ではファイルがロックされるので心配です。

4

2 に答える 2

2

Windows は複数のリーダーをロックしません。それはうまくいくでしょう。

とはいえ、このシナリオで CPU がボトルネックになるとは考えにくいです。unzip をマルチスレッド化すると、実際に測定可能なほど優れたパフォーマンスが得られますか? io がボトルネックになる可能性が高いようです (この場合、マルチスレッドは役に立たないことがよくあります)。

于 2013-03-27T22:48:14.573 に答える
2

これについて心配する必要はありません。ファイル ロックを作成しない限り、ファイルは複数の同時読み取りからロックされません。ただし、読み取りと書き込みを同時に行っている場合は、バッファリングに注意する必要があります。

とにかく、あなたはここでディスクに縛られ、これをマルチスレッド化しても何も得られないと思いますが、あなたの状況の詳細はわかりません.

于 2013-03-27T22:50:53.727 に答える