1

別のプロセスから送信されたオブジェクトを、ディスク上のいくつかのファイルに書き込む必要があります。各オブジェクトには、fileID(書き込まれるファイルの名前)とデータのチャンクが付属しています。

同時非同期I/Oを使用して、ファイルの書き込みを最適化するためにIO完了ポート(IOCP)を使用したいのですが、各ファイルを同期的に書き込む必要があります。たとえば、書き込み時にファイルごとのチャンク順序を維持する必要があります。ディスクはありますが、ファイルの順序はありません。

.NetがIO操作を実行するたびにIOCPを使用することを理解していますが、どうすれば希望どおりに動作させることができますか?

4

1 に答える 1

0

これは簡単に実行できます。各ファイルの書き込み位置を追跡し、各チャンクを書き込むときに更新するだけです。非同期書き込みの構造で書き込みオフセットを指定しますOVERLAPPED。各ファイルのどこにいるかを追跡している限り、チャンクを書き込み、ファイルごとの書き込みオフセットを更新できるはずです。

于 2012-06-20T07:55:37.677 に答える