مهمة تحليل بيانات غير متزامنة مع تحديد التوازي
C#
Hard
async
مهمة «مهمة تحليل بيانات غير متزامنة مع تحديد التوازي»
```html
طور تطبيق وحدة تحكم غير متزامن يقرأ من stdin الرقم N، ثم N سطر، كل سطر يحتوي على عدد صحيح. يجب على التطبيق معالجة كل رقم باستخدام الدالة غير المتزامنة SimulateWorkAsync(int value)، التي تحاكي تأخيرًا (value مللي ثانية) وتعيد مربع الرقم. يجب تقييد الحد الأقصى لعدد المهام المنفذة في وقت واحد إلى 3. اعرض النتائج بترتيب اكتمال المهام (وليس بترتيب الإدخال). إذا اكتملت أي مهمة باستثناء (على سبيل المثال، عندما value < 0)، يجب على التطبيق انتظار اكتمال جميع المهام وعرض "Error" ثم إنهاء التنفيذ. استخدم SemaphoreSlim للتحكم في التوازي.
```
طور تطبيق وحدة تحكم غير متزامن يقرأ من stdin الرقم 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