Java中的I/O优先级

Java中的I/O优先级,java,io,Java,Io,我想使用的Vista+功能。是否有一种独立于平台的方式来设置Java中操作的I/O优先级(例如,Java 7中的库),还是应该恢复到休眠过滤器或JNx解决方案?其他平台也有类似的功能吗?从谷歌搜索来看,Java似乎还不支持IO优先级 Windows Vista有,但我对此一无所知。是每个进程还是更细粒度 Linux 2.6.13支持ionice(1),它将根据每个进程设置IO优先级。这是Java很难支持的事情,因为它严重依赖于底层操作系统的功能。Java非常努力地提供跨多个平台工作相同的API。

我想使用的Vista+功能。是否有一种独立于平台的方式来设置Java中操作的I/O优先级(例如,Java 7中的库),还是应该恢复到休眠过滤器或JNx解决方案?其他平台也有类似的功能吗?

从谷歌搜索来看,Java似乎还不支持IO优先级

Windows Vista有,但我对此一无所知。是每个进程还是更细粒度


Linux 2.6.13支持ionice(1),它将根据每个进程设置IO优先级。

这是Java很难支持的事情,因为它严重依赖于底层操作系统的功能。Java非常努力地提供跨多个平台工作相同的API。(这并不总是成功,但这是另一个话题。)

在这种情况下,Java API需要能够跨多个版本的Windows、多个版本的Linux、Solaris和各种其他第三方平台实现。很难提出一个独立于平台的IO优先级模型,该模型可以映射到一系列操作系统平台的功能


现在,我建议您寻找一个特定于平台的解决方案,该解决方案超越Java,以进行必要的调优调整;e、 g.在启动JVM之前,使用Process等来运行外部命令,或者在包装器脚本中完成这些工作。

如果您确实需要使用此功能,并且确实希望在Java中这样做,那么您可以始终使用它将JVM挂接到自己的自定义C/C++I/O处理程序实现中。它允许您编写本机(特定于操作系统)代码,并从Java应用程序调用它。

Vista+具有每个I/O句柄。我希望有一些库能够公开这个功能。谢谢你提供的Linux信息。谢谢,我已经知道了。我想要更方便的方法。你会考虑什么答案?一个真正的实现IO优先化的库?@darthcoder:一个本质上更积极的答案,可能是指向库的链接或类似的东西。我对目前的答案不满意。对于赏金来说,这是一个很好的情况。有兴趣吗?我认为我没有收到满意的答案,所以我接受了最接近的答案。无论如何,我需要使用自己的IO库来实现我的目标。谢谢大家。