虽然循环与小Thread.Sleep与Java计时器?

时间:2017-02-25 07:24:11

标签: java multithreading timer

我有一个程序需要在非常精确的时间执行一个过程。我目前接近它的方式是:

while( ( exTime - System.currentTimeMillis() ) > randomNum )
{
    try
    {
        Thread.sleep(0, 5000); //Sleep for 5000 nanoseconds, or 0.000005 seconds
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}
//Code to be executed after time is over.

我知道也可以使用Java计时器。

我的问题是什么是最有效的,什么是最准确的?我使用while循环运行超过100个线程。使用计时器会节省更多资源并且更准确吗?

1 个答案:

答案 0 :(得分:0)

使用计时器将是准确的。有关资源,您可以查看