当我运行以下代码时,我得到some output
:
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));
}
但如果我设置DELAY
为 999,我什么也得不到。我认为 999 和 1000 足够接近,不会造成这样的差异,这意味着这里肯定有其他事情发生。我也尝试过Duration::nanoseconds
(999_999 和 1_000_000),我看到了同样的行为。
我的平台是 Linux,我几乎可以一直重现这种行为:使用 999 的结果some output
不到 1% 的运行。
作为旁注,我知道这种方法是错误的。