Avatar ·

كيفية عمل تأخير (sleep) في C++ لعدة ملي ثانية؟

مرحبًا! أكتب برنامجًا بسيطًا بلغة C++ على Linux، وأحتاج إلى عمل توقف لبضع ملي ثانية. أنا مبتدئ، وأعرف حاليًا فقط دالة `sleep()` من ``، لكنها على ما يبدو تعمل فقط بالثواني. أحتاج شيئًا مثل "انتظر 500 ملي ثانية". إليك مثال على الكود الخاص بي، والذي بالطبع لا يتم ترجمته لأنني لا أعرف الدالة الصحيحة: ```cpp #include #include // هنا يوجد sleep() int main() { std::cout << "نبدأ..." << std::endl; sleep(500); // خطأ! sleep ينتظر 500 ثانية، وليس ملي ثانية std::cout << "هل مرت 500 ملي ثانية؟" << std::endl; return 0; } ``` أستخدم Linux (Ubuntu)، وأترجم باستخدام g++. حاولت البحث في Google، لكنني وجدت العديد من الخيارات المختلفة: `usleep`، `nanosleep`، `std::this_thread::sleep_for` — وأصبحت مرتبكًا. ما هي الطريقة الصحيحة والحديثة لـ C++؟ يُفضل أن يكون الكود قابلًا للنقل (ليس فقط على Linux، بل على Windows أيضًا إذا أمكن). شكرًا مقدمًا!