जब मैं निम्नलिखित कोड चलाने के लिए, मैं some output
मिलती है:999μs बहुत छोटा कैसे है लेकिन 1000μs सही है?
use std::thread::Thread;
static DELAY: i64 = 1000;
fn main() {
Thread::spawn(move || {
println!("some output");
});
std::io::timer::sleep(std::time::duration::Duration::microseconds(DELAY));
}
लेकिन अगर मैं 999 करने के लिए DELAY
निर्धारित करते हैं, मैं कुछ भी नहीं मिलता है। मुझे लगता है कि 999 और 1000 इतने अंतर के कारण पर्याप्त नहीं हैं, जिसका मतलब है कि यहां कुछ और होना चाहिए। मैंने Duration::nanoseconds
(999_999 और 1_000_000) के साथ भी कोशिश की है, और मैं वही व्यवहार देखता हूं।
मेरा प्लेटफ़ॉर्म लिनक्स है और मैं लगभग हर समय इस व्यवहार को पुन: उत्पन्न कर सकता हूं: 999 परिणामों का उपयोग some output
में 1% से कम तरीके से किया जाता है।
एक साइडेनोट के रूप में, मुझे पता है कि यह दृष्टिकोण is wrong है।
क्या आप इसे अलग-अलग वर्कलोड और सत्रों में विश्वसनीय बना सकते हैं? और आपका सटीक मंच क्या है? मुझे लगता है कि उत्तर किसी भी जंग कोड के बजाय आपके ऑपरेटिंग सिस्टम के शेड्यूलर में छिपा हुआ हो सकता है। – delnan
मैंने प्रश्न संपादित किया है। – Tshepang
"मैं इसे बहुत भरोसेमंद कर सकता हूं, लेकिन यह 100% समय नहीं होता है।" वह कितना भरोसेमंद है? – exussum