异步数据分析和并发控制
C#
Hard
async
任务 «异步数据分析和并发控制»
开发一个异步控制台应用程序,从标准输入读取一个整数 N,然后读取 N 行,每行包含一个整数。应用程序应使用异步函数 SimulateWorkAsync(int value) 处理每个数字,该函数模拟延迟(value 毫秒)并返回数字的平方。必须将最大并发任务数限制为 3。按任务完成的顺序(而非输入顺序)输出结果。如果任何任务因异常而失败(例如,当 value < 0 时),应用程序应等待所有任务完成,然后输出 "Error" 并退出。使用 SemaphoreSlim 管理并发。
输入格式
第一行是一个整数 N (1 ≤ N ≤ 100)。然后是 N 行,每行包含一个从 -10 到 10 的整数。
输出格式
对于每个成功的结果,按任务完成的顺序在单独一行输出该数字的平方。如果发生错误,只输出 "Error"。
示例
示例 1
输入
2
5
2
输出
4
25
示例 2
输入
2
https://httpbin.org/status/200
https://httpbin.org/status/404
5000
输出
Error
示例 3
输入
2
-1
4
输出
Error
main.cs