2012-05-09 11 views
6

अजीब यहाँ प्रश्न - लेकिन:"मशीन नींद" + WaitForSingleObject + परिमित टाइमआउट

अगर मैं एक 20 मिनट का समय समाप्त के साथ एक म्युटेक्स पर WaitForSingleObject का उपयोग करें। फिर, मशीन इंतजार करते समय नींद मोड (या हाइबरनेट) में प्रवेश करती है .... 12 घंटे बाद जागने पर - क्या मेरे कॉल को WaitForSingleObject टाइम-आउट पर कॉल किया जाएगा? या टाइमर मशीन नींद के साथ निलंबित होगा?

+0

शायद यह आलेख http://www.flounder.com/time.htm – Andrew

उत्तर

1

सिर्फ 5 मिनट का समय समाप्त और 10 मिनट के नींद के साथ विंडोज 7 पर परीक्षण किया गया। मैं अंतहीन धागे की प्रतीक्षा कर रहा था।

आश्चर्य - WaitForSingleObject मेरी मशीन के बाद जागने के बाद समाप्त हो गया था।

+0

नहीं मदद करेगा, यह आश्चर्य की बात नहीं है। यह व्यवहार बिल्कुल एमएसडीएन कहता है। – Elmue

0

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspx के अनुसार, WaitForSingleObject को कम-शक्ति वाले राज्यों में खाते में समय लगता है, लेकिन केवल विंडोज 8 से शुरू होता है। इसलिए विंडोज 7 पर इसे ऊपर वर्णित व्यवहार करना चाहिए, लेकिन विंडोज 8 पर और बाद में कॉल समय समाप्त हो जाएगा केवल तभी जब सिस्टम अनुरोधित समय के लिए सक्रिय रूप से चल रहा है।

+0

ऐसा लगता है कि आपको अंग्रेजी के साथ समस्याएं हैं। एमएसडीएन बिल्कुल सही कहता है: विंडोज 8 और 10: "dwMilliseconds मूल्य में कम-शक्ति वाले राज्यों में बिताए गए समय शामिल नहीं हैं। उदाहरण के लिए, टाइमआउट कंप्यूटर पर सोते समय गिनती नहीं रखता है।" – Elmue

संबंधित मुद्दे