سيوضح لك محرر Downcodes الطرق المختلفة لإيقاف البرنامج مؤقتًا لمدة ثانية واحدة بلغة C! ستقدم هذه المقالة بالتفصيل استخدام وظائف Sleep() و_sleep() وnanosleep() وusleep() واستخدام وظيفة time() وبنية الحلقة لتحقيق التأخير، واستخدام وظيفة Clock() وCLOCKS_PER_SEC ثابت لتحقيق توقف مؤقت دقيق، وتقديم تفسيرات متعمقة وأمثلة برمجية لكل طريقة لمساعدتك على إتقان مهارات تأخير برنامج لغة C بسهولة. سواء كنت جديدًا في لغة C أو مطورًا ذا خبرة، يمكنك الاستفادة كثيرًا من هذه المقالة والعثور على الحل الأفضل لمشروعك. دعونا نتعمق في سر التوقف المؤقت لبرنامج لغة C!

هناك العديد من الطرق لإيقاف البرنامج لمدة ثانية واحدة في لغة C، بما في ذلك استخدام وظيفة Sleep()، وظيفة _sleep()، وظيفة nanosleep()، وظيفة usleep()، استخدام وظيفة time() وبنية الحلقة لتنفيذ التأخير، و استخدم وظيفة الساعة () وثابت CLOCKS_PER_SEC لتحقيق توقف مؤقت دقيق. الطريقة الأكثر شيوعًا والمشتركة بين الأنظمة الأساسية هي استخدام وظيفة Sleep () التي توقف تنفيذ مؤشر الترابط الحالي مؤقتًا لعدد محدد من الثواني.
فيما يلي وصف تفصيلي لاستخدام الدالة Sleep() لإيقاف البرنامج لمدة ثانية واحدة:
تعمل وظيفة السكون () عن طريق تعليق تنفيذ مؤشر الترابط الحالي حتى انقضاء عدد الثواني المحدد. عندما ينفذ البرنامج وظيفة السكون () ، لن تقوم وحدة المعالجة المركزية بمعالجة مهام الخيط الحالي، وستتغير حالة الخيط إلى حالة السكون. سيؤدي هذا إلى توقف البرنامج مؤقتًا لفترة زمنية محددة. في معظم أنظمة التشغيل ذات معايير POSIX (مثل الأنظمة المستندة إلى UNIX وLinux)، يمكن استخدام وظيفة Sleep() مباشرة. على أنظمة Windows الأساسية، يمكن تحقيق ذلك عن طريق تضمين ملف الرأس
في أنظمة Unix أو Linux، يمكنك عادةً تضمين ملف الرأس
#يشمل
إنت ماين () {
// تنفيذ العمليات المتعلقة بالبرنامج
// دع البرنامج يتوقف لمدة ثانية واحدة
النوم(1);
// متابعة تنفيذ بقية البرنامج بعد التأخير
العودة 0؛
}
في بعض الحالات، قد تعود وظيفة Sleep() مبكرًا بسبب تداخل الإشارة، وقد لا تتوقف بالضرورة لمدة ثانية واحدة بالضبط.
في نظام التشغيل Windows، استخدم
#يشمل
إنت الرئيسي () {
// تنفيذ العمليات المتعلقة بالبرنامج
// دع البرنامج يتوقف مؤقتًا لمدة 1000 مللي ثانية (أي ثانية واحدة)
النوم (1000)؛
// متابعة تنفيذ بقية البرنامج بعد التأخير
العودة 0؛
}
تسمح وظيفة nanosleep() بالتحكم في التأخير بدقة أعلى ويمكنها تحديد فترات التوقف المؤقت على مستوى النانو ثانية. تم تعريف هذه الوظيفة أيضًا في مواصفات POSIX وتحتاج إلى تضمين ملف الرأس
#يشمل
إنت الرئيسي () {
struct timespec req = {1, 0}; // 1 ثانية، 0 نانو ثانية
// دع البرنامج يتوقف لمدة ثانية واحدة
nanosleep(&req, NULL);
العودة 0؛
}
قد يعود التابع nanosleep() أيضًا مبكرًا بسبب الإشارات وأسباب أخرى، وسيتضمن req أيضًا الوقت قبل اكتمال النوم.
يمكن أن تتوقف الدالة usleep() مؤقتًا عند مستوى الميكروثانية (ثانية واحدة = 1,000,000 ميكروثانية). تم وضع علامة "مهملة" على هذه الوظيفة في مواصفات POSIX الأحدث، ولكن لا يزال من الممكن استخدامها في التعليمات البرمجية القديمة وفي بعض الأنظمة. تحتاج إلى تضمين ملفات الرأس
#يشمل
إنت الرئيسي () {
// دع البرنامج يتوقف مؤقتًا لمدة 1,000,000 ميكروثانية (أي ثانية واحدة)
usleep(1000000);
العودة 0؛
}
يمكنك استخدام الدالة time() للحصول على الوقت الحالي، ثم الانتظار في حلقة حتى مرور ثانية واحدة.
#يشمل
إنت الرئيسي () {
time_t start_time، curr_time؛
// احصل على الوقت الحالي
الوقت(&start_time);
يفعل {
// الحصول باستمرار على الوقت الحالي
الوقت(&curr_time);
} while ((curr_time - start_time) < 1); // استمر في التكرار حتى مرور ثانية واحدة
العودة 0؛
}
تستهلك هذه الطريقة موارد وحدة المعالجة المركزية (CPU) لأنها تتحقق من الوقت باستمرار، ولا يوصى باستخدامها في المواقف التي تتطلب متطلبات عالية في الوقت الفعلي.
يمكن لوظيفة Clock() وثابت CLOCKS_PER_SEC تنفيذ وظيفة إيقاف مؤقت أكثر دقة للبرنامج، وهي مناسبة بشكل خاص للبرامج التي تتطلب دقة أعلى.
#يشمل
إنت الرئيسي () {
Clock_t start_clock = Clock();
// انتظر ثانية واحدة
بينما (((clock() - start_clock) / CLOCKS_PER_SEC) < 1)؛
العودة 0؛
}
تشبه هذه الطريقة الطريقة المعتمدة على الدالة time()، ولكنها توفر دقة أعلى. على عكس time()، الذي يعتمد على تأخير الوقت الفعلي، يتم حساب Clock() بناءً على وقت تشغيل البرنامج الذي يشغل وحدة المعالجة المركزية.
من خلال الطريقة المذكورة أعلاه، يمكن لبرنامج لغة C تحقيق توقف مؤقت لمدة ثانية واحدة في المنتصف. يمكن للمطورين اختيار طريقة التنفيذ الأكثر ملاءمة بناءً على الاحتياجات المحددة والاختلافات في النظام الأساسي.
1. كيفية تنفيذ التوقف القصير للبرنامج بلغة C؟
لتحقيق تأثير إيقاف البرنامج مؤقتًا لمدة ثانية واحدة، يمكنك استخدام الأمر
2. كيفية إنشاء تأثير تأخير لمدة ثانية واحدة في لغة C؟
إذا كنت تريد أن يتوقف برنامج لغة C مؤقتًا لمدة ثانية واحدة أثناء التنفيذ، فيمكنك استخدام الدالة usleep(). يمكن لهذه الوظيفة تحديد وقت التأخير بالميكروثانية. فيما يلي رمز مثال بسيط:
#يشمل3. كيف يمكن تحقيق تأثير إيقاف البرنامج لمدة ثانية واحدة في لغة C؟
توفر لغة C مجموعة متنوعة من الوظائف لتنفيذ التنفيذ المؤجل للبرامج، واحدة منها شائعة الاستخدام هي وظيفة Clock(). تقوم هذه الوظيفة بإرجاع عدد الساعة الحالي في وقت النظام. يمكن تحقيق تأثير الإيقاف المؤقت للبرنامج باستخدام وظيفة الساعة () في البرنامج. إليك مثال بسيط:
#يشملفيما يلي عدة طرق لتنفيذ إيقاف البرنامج مؤقتًا لمدة ثانية واحدة في لغة C. يمكنك اختيار الطريقة الأنسب لتأخير تنفيذ البرنامج وفقًا للاحتياجات الفعلية.
آمل أن تساعدك هذه المقالة على فهم كيفية تنفيذ الإيقاف المؤقت في برنامج لغة C بشكل أفضل. يوصي محرر Downcodes باختيار الطريقة الأنسب وفقًا للوضع الفعلي، والانتباه إلى مزايا وعيوب الطرق المختلفة. إذا كان لديك أي أسئلة، يرجى ترك رسالة للتواصل!