最良の答えを得るには、「大」を定義する必要があります。自分のキューは本当に必要ありません。.NETFrameworkのBufferedStreamは非常に効率的です
http://msdn.microsoft.com/en-us/library/3dsccbf4.aspx
http://msdn.microsoft.com/en-us/library/system.io.bufferedstream.write.aspx
「大」がOSで許可されているファイルハンドルの最大数に近づかない場合は、ファイルを開いたままにしておくことができます(書き込み中に他のプロセスがファイルにアクセスする必要がある場合は、必要に応じて共有を設定します)。これにより、各ファイルを1秒に1回開くオーバーヘッドを回避できます。
どのバッファリングアプローチを使用する場合でも、停電やその他のシステム障害が発生した場合に失う準備ができているよりも多くのデータをバッファリングしないようにしてください。
データ損失を受け入れることができない場合は、各文字列を(バッファリングなしで)ファイルにすぐに書き込むことができ、代わりに書き込みキャッシュとバッテリバックアップを備えたディスクコントローラを使用できます。
アップデート
100個のデータソースは、.Netを実行するOSの開いているファイルの最大数をはるかに下回っています。ファイルを開いて、使い終わるまで開いたままにしておくだけで問題ありません。
Windowsのハンドル数の制限に関する興味深い記事については、を参照してください。
http://blogs.technet.com/b/markrussinovich/archive/2009/09/29/3283844.aspx