簡體   English   中英

Java中的I / O優先級

[英]I/O prioritization in Java

我想使用I / O優先級的Vista +功能。 是否存在獨立於平台的方式來設置Java(例如Java 7中的庫)中的操作的I / O優先級,還是應該恢復為睡眠過濾器或JNx解決方案? 其他平台是否具有類似功能?

如果您確實需要使用此功能,並且確實要在Java中執行此操作,則始終可以使用Java JNI將JVM掛鈎到您自己的I / O處理程序的自定義C / C ++實現中。 它允許您編寫本機(特定於OS的)代碼並從Java應用程序中調用它。

從谷歌搜索看來,Java似乎還不支持IO優先級。

Windows Vista可以,但我對此一無所知。 是每個進程或更細粒度的嗎?

從2.6.13開始的Linux支持ionice(1),它將基於每個進程設置IO優先級。

Java很難支持這種情況,因為它很大程度上取決於基礎操作系統的功能。 Java盡力提供跨多個平台使用相同功能的API。 (它並不總是成功,但這是一個不同的主題。)

在這種情況下,Java API必須能夠在Windows的多個版本,Linux,Solaris的多個版本以及其他各種第三方平台上實現。 想出一個可以映射到OS平台范圍功能的,與平台無關的IO優先級模型。

現在,我建議您尋找Java之外的平台特定解決方案,以進行必要的調整。 例如,使用Process等運行外部命令,或者在啟動JVM之前在包裝腳本中完成工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM