وظيفة النوم في ج في ويندوز. هل وظيفة ذات دقة أفضل؟

StackOverflow https://stackoverflow.com/questions/945320

سؤال

كنت أتساءل عما إذا كان أي شخص يعرف وظيفة نوم أفضل يمكن استخدامها في نظام التشغيل Windows في ج، بخلاف النوم ()، والذي يأخذ مدخلات milliecond ويضمن فقط أن المدخلات هي الحد الأدنى للوقت الذي ينزل. أنا أبعز في 1 مللي ثانية، ولكن في الواقع الحصول على تأخير 15-16 مللي ثانية. هل هناك أي طريقة لتعيين وقت النوم المحدد بدقة؟

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

النوم فقط ضمانات فقط أن عمليةك لن تنفذ على الاكثر ن مللي ثانية، وليس أنه سوف ينام بالضبط ن milliseconds. ربما تريد إنشاء مؤقت؟ أو الانتظار مشغول (أي استطلاع queryperformancoster في حلقة).

سأحاول تجنب هذا النهج (الانتظار المشغول) إلا إذا كان عليك أن تحترق دورات وأنت تمنع وحدة المعالجة المركزية من وضعها في سرعات مدتها على مدار الساعة (أي حرق بطارية الاحتراق)

لا، لا توجد وظيفة نوم أفضل على النوافذ لأن ميلي ثانية هي مستوى الحبيبية المتاحة. إذا كنت ترغب في النوم لفترة أقل، فستحتاج إلى تطبيق قفل الدوران من الأنواع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top