相关疑难解决方法(0)

System.currentTimeMillis vs System.nanoTime

精度与 精确

我想知道的是在更新我的对象在游戏中的位置时是否应该使用System.currentTimeMillis()System.nanoTime()?它们的运动变化与自上次呼叫后经过的时间成正比,我希望尽可能精确.

我读过不同的操作系统之间存在一些严重的时间分辨率问题(即Mac/Linux的分辨率几乎为1毫秒,而Windows的分辨率为50毫秒).我主要在Windows上运行我的应用程序,50ms分辨率似乎非常不准确.

有没有比我列出的两个更好的选择?

有什么建议/意见吗?

java timer time-precision

370
推荐指数
7
解决办法
37万
查看次数

如何更改正在运行的java进程的优先级?

在一个相关的问题中,我们使用ProcessBuilder探索了使用依赖于操作系统的命令以低优先级启动外部进程.我还发现,如果父进程的优先级较低,那么它生成的所有进程都将以低优先级启动.所以我的新问题是关于以低优先级启动java文件(通过双击Windows中的可执行jar运行)或在运行期间以编程方式更改其优先级.我尝试改变线程优先级,但这对Windows进程优先级没有影响.

我尝试了以下操作,但它不会更改任务管理器中的进程优先级

public class hello{
    public hello(){
        try{
            Thread.currentThread().setPriority(1);
            Thread.sleep(10000);    
        }catch(Exception e){e.printStackTrace();}
    }
}
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一另一件事是使用批处理文件运行程序,但我宁愿把它留在家里也可以这么说.那么有谁知道基于java的方式来改变当前的进程优先级?理想情况下,能够在程序运行时更改进程的优先级以响应用户输入,这将是很好的.

java windows process windows-task-scheduler

3
推荐指数
1
解决办法
1万
查看次数