البرمجة

تأخير تنفيذ الأكواد في C# باستخدام async/await

في لغة البرمجة C#، يمكنك تأخير تنفيذ تعليمة معينة باستخدام الدالة Task.Delay و async/await. هذا الأمر يسمح لك بتعليق التنفيذ لفترة زمنية معينة دون تأثير على تنفيذ أي تعليمات أخرى في الوقت نفسه. لنقم بتوضيح كيف يمكن تحقيق ذلك باستخدام الشيفرة التالية:

csharp
using System; using System.Threading.Tasks; class Program { static async Task Main() { Console.WriteLine("بدأ التنفيذ"); // تأخير لمدة 5 ثوانٍ await DelayExecutionAsync(5000); Console.WriteLine("تم التأخير واستكمال التنفيذ"); // هنا يمكنك وضع التعليمات الأخرى التي تريد تنفيذها بعد التأخير } static async Task DelayExecutionAsync(int millisecondsDelay) { // استخدام Task.Delay لتأخير التنفيذ await Task.Delay(millisecondsDelay); } }

في هذا المثال، يتم بداية التنفيذ باستخدام Console.WriteLine لطباعة رسالة. ثم يتم استخدام DelayExecutionAsync لتأخير التنفيذ لمدة 5 ثوانٍ باستخدام Task.Delay. بعد انتهاء التأخير، يتم طباعة رسالة أخرى للدلالة على استكمال التنفيذ.

يرجى مراعاة أن الاستخدام الفعّال لهذه الطريقة يتطلب فهمًا جيدًا لمفهوم async/await وكيفية التعامل مع الأساليب الخاصة بـ Task.

المزيد من المعلومات

بالطبع، دعونا نوسع على الموضوع بمزيد من التفاصيل. في الشيفرة السابقة، تم استخدام الكلمة الرئيسية async لتعليم البرنامج أن الدالة Main تحتوي على عمليات غير متزامنة. ثم تم استخدام await للانتظار حتى اكتمال تأخير التنفيذ.

هنا بعض المفاهيم الأساسية لفهم كيف يعمل الكود:

  1. async/await: تُستخدم هذه الكلمتين للتعامل مع العمليات الغير متزامنة بطريقة تجعل الكود يبدو كما لو كان متزامنًا. الكلمة الرئيسية async تُستخدم لتحديد الدوال التي تحتوي على await وتشير إلى أنها تحتوي على عمليات غير متزامنة.

  2. Task.Delay: تُستخدم لتأخير تنفيذ الكود لعدد معين من الوحدات الزمنية. في هذا السياق، تم استخدامها لتأخير التنفيذ لمدة 5 ثوانٍ.

  3. Main: هي الدالة التي يتم تنفيذها أولاً عند تشغيل البرنامج. باستخدام async Task Main()، يصبح بإمكاننا استخدام await في الدالة الرئيسية.

  4. DelayExecutionAsync: هي الدالة التي تقوم بتنفيذ Task.Delay باستخدام await للتأكيد على أن التأخير لن يؤثر على تنفيذ أي تعليمات أخرى خلال هذه الفترة.

بهذه الطريقة، يتيح لك استخدام async/await تنظيم التنفيذ بطريقة فعالة وتأخير تنفيذ الأكواد حسب الحاجة دون تأثير على تنفيذ الأكواد الأخرى. يمكنك استخدام هذا الأسلوب في مواقف مثل الانتظار لاستجابة من الشبكة، أو تأخير تنفيذ مهمة معينة في تطبيقك.

زر الذهاب إلى الأعلى