gpt4 book ai didi

Java:LockSupport.parkNanos 与 Thread.sleep(...)

转载 作者:IT老高 更新时间:2023-10-28 20:58:46 31 4
gpt4 key购买 nike

在某些情况下,我们大多数人都会这样写:

try {
Thread.sleep(2000);
} catch (InterruptedException e) {
; // do nothing
}

是否正确或错误,仅在某些测试工具中可接受,不是我的观点。我的观点是,同样的代码可以写得更简洁,如下:

  LockSupport.parkNanos(2000* 1000000);

有什么理由让我偏爱一种方法而不是另一种方法。

最佳答案

可读性:Thread.sleep 有一个非常直观的含义。您将如何描述(向其他开发人员)您对 LockSupport.parkNanos 的使用?如果该描述主要包含“我希望当前 线程 sleep ”,那么 Thread.sleep 肯定更具描述性。

简洁性来自于缺少中断处理——所以如果你愿意,可以创建一个包装器方法来执行此操作,它将异常作为 RuntimeException 传播。哎呀,如果你正在创建一个包装方法,你可以使用任何一种实现,尽管另一个线程当然可以unpark你的“ sleep ”线程,就像它可以中断它一样......

关于Java:LockSupport.parkNanos 与 Thread.sleep(...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397881/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com