如果您需要并行运行多个异步I/O任务,但需要确保同时不超过X个I/O进程正在运行;且前后的I/O处理任务不应该有这样的限制。
这里有一个场景-假设有1000个任务;每个任务都接受一个文本字符串作为输入参数;转换该文本(预 I/O 处理),然后将该转换后的文本写入文件。目标是使预处理逻辑利用 CPU / 核心的 100%,并使最多有 10 个 I/O 进程并行运行(最多同时打开10个文件进行写操作)。
您能提供一个使用 C# / .NET 4.5 实现此功能的示例代码吗?
http://blogs.msdn.com/b/csharpfaq/archive/2012/01/23/using-async-for-file-access-alan-berman.aspx