将Java应用程序的优先级提高到10以上

时间:2017-07-20 12:54:24

标签: java thread-priority

第一次在 stackoverflow 上提问:

我被要求将一个Java应用程序的优先级增加到15 ... 我知道Thread类,Max_PRIORITY等于10 ......

场景:这个java应用程序在运行其他C应用程序的服务器上运行,所有这些应用程序都具有15个实时优先级。

感谢您的帮助!

编辑:Windows Server 2012 64位

编辑2:他们认为java应用程序没有得到太多的cpu共享,当比较C应用程序时......

编辑3:这个java应用程序需要以实时优先级运行,就像c应用程序一样。 24是他们的优先事项,请在我告诉15时忘记。

2 个答案:

答案 0 :(得分:0)

您应该阅读有关您在办公室使用的VM的更多信息。

常规Java线程的优先级范围是1到10.您可以使用实时线程并将其优先级设置为10.这些常规Java线程可以使用 java.lang.Thread 班级

要创建实时线程,您需要一个可以使用 javax.realtime 包的JVM。您将不得不下载包含javax.realtime包的jar。没有很多RTSJ(Java的实时规范)实现。其中一个实现RTSJ的JVM是 JamaicaVM

Posix可以允许您创建不同的线程调度策略和优先级。 SCHED_FIFO策略提供99种不同的优先级。

下面是使用WebSphere Real Time VM创建实时线程的链接。

https://www.ibm.com/developerworks/library/j-rtj3/index.html

答案 1 :(得分:0)

为了补充上述答案,其他实时Java VM是

  1. TimeSys RTSJ参考实施
  2. IBM WebSphere Real Time
  3. OVM
  4. JamaicaVM
  5. jRate
  6. Aonix PERC
  7. Rockit Real-Time
  8. LJRT
  9. FijiVM
  10. src:http://rtjava.blogspot.com