Unix.sleep
फ़ंक्शन पूरे सेकंड के लिए प्रोग्राम को निलंबित कर सकता है, लेकिन आप इसे एक सेकंड से भी कम समय तक निलंबित कैसे कर सकते हैं?OCaml
Q
OCaml
13
A
उत्तर
13
इस के लिए शास्त्रीय यूनिक्स समाधान का चयन का उपयोग करने के() कोई फ़ाइल वर्णनकर्ता के साथ है: सेकंड की दी गई संख्या के लिए
let minisleep (sec: float) =
ignore (Unix.select [] [] [] sec)
12
Thread.delay
फ़ंक्शन सेकंड की दी गई संख्या के लिए थ्रेड को रोकता है, लेकिन यह एक फ्लोट लेता है, जिससे आप थ्रेड को एक सेकंड से भी कम समय तक रोक सकते हैं।
4
और संकेत – ygrek
का चयन करते हैं मैं इस कोशिश की बीच में हो सकता है कि के बारे में भूल नहीं है, यह Unix.Unix_error के साथ विफल (11, "का चयन करें", "")। –
यह मेरे लिए काम करता है, मैंने इसे आज़माकर सुनिश्चित किया है। मै मैक ओएस एक्स 10.7 पर हूं। –