質問: ネットワーク共有フォルダからファイルを定期的に読み取る最も効率的な方法は何ですか? 目標は、別のプログラムが出力するフォルダからファイルを定期的に読み込んで、そのコードを自分のコードの別の部分に送り込むことです。 パフォーマンスと読みやすく簡単なコードとの間で最良のトレードオフを達成するにはどうすればよいでしょうか? (私はC#とJavaの両方でこれを達成する必要があります。したがって、ダブルタグ付け(そして、これは宿題ではありません:))
回答: I/Oはほとんどのプログラムにとってはボトルネックですが、パフォーマンスを上げるには、手助けをするためにできることがいくつかあります。 1つは、必要なときにのみ読み込まれます。これは、FileSystemWatcherを使用して、ファイルがいつ変更されたかを伝えることで実現できます。 2つ目は、操作が完了せずに続行できる場合は、可能であればI/Oを実行する新しいスレッドを生成します。