necesito para invocar el archivo .jar en la JVM separada de otra aplicación Java, y es muy CPU que consume, por lo que debe correr con prioridad fondo con el fin de no afectar el resto de la sistema. ¿Hay algún método multiplataforma para hacer esto?forma de plataforma cruzada para cambiar la prioridad del proceso java
Respuesta
La respuesta simple es que no hay manera portátil para cambiar la prioridad de un proceso en Java. (Hilos - sí, Procesos - No.)
Si su aplicación Java necesita iniciar una nueva JVM para ejecutar la aplicación intensiva de CPU, entonces es probable que ya no sea totalmente portátil. Por ejemplo, se suele necesitar dar el nombre de ruta del comando java
(o equivalente), un argumento -cp
(o equivalente), opciones de JVM específicos del sistema, y así sucesivamente.
Por lo tanto, suponiendo que el comando para iniciar la JVM es ya no portátil, cabe apenas importa si se reemplaza el comando con un guión envoltorio que hace cosas específicas del OS para cambiar la prioridad del proceso iniciado. (Por ejemplo, para UNIX o Linux simplemente podría utilizar nice
para poner en marcha la JVM.)
No sé la manera de establecer la prioridad de un proceso externo. Thread
sin embargo tiene un método setPriority
, por lo que si el control de la aplicación de destino, tal vez podría añadir un interruptor, contando la aplicación para establecer su propia prioridad al mínimo:
theThread.setPriority(Thread.MIN_PRIORITY);
Si aún afecta al sistema, lo sugiero que intercalen algunos cortos sleep
ing para descargar la CPU.
Otra opción:
Si se pone el objetivo .jar
en la ruta de clase de la aplicación "iniciación", simplemente puede invocar la main
-method del fichero-jar en un hilo de nueva creación , y luego configure la prioridad usando el método anterior. (Esto debería funcionar incluso si usted no controla el código fuente del archivo jar de destino.)
Entiendo que necesita generar otro proceso, y este método es para un hilo, así que no creo que pueda funcionar ... – Persimmonium
oh ... mmm ... buen punto. Supongo que esto solo tiene sentido entonces, si existe la posibilidad de agregar un cambio al programa que se está ejecutando. – aioobe
Si tiene la fuente del otro proceso que se está ejecutando, puede establecerse en MIN_PRIORITY, ¿verdad? –
- 1. cambiar la prioridad del proceso en android
- 2. es bueno() usado para cambiar la prioridad del hilo o la prioridad del proceso?
- 3. Cambiar prioridad del proceso actual en C
- 4. Forma de plataforma cruzada para obtener PID por nombre de proceso en python
- 5. Cambiar la prioridad del proceso en Python, multiplataforma
- 6. desarrollo de plataforma cruzada
- 7. plataforma cruzada .Net?
- 8. Asterisk plataforma cruzada compilación
- 9. Forma de plataforma cruzada para abrir un archivo usando Java 1.5
- 10. Cifrado RSA en Java: ¿Problemas con la plataforma cruzada?
- 11. módulo usb de plataforma cruzada para python?
- 12. cosas que previenen la plataforma cruzada su aplicación web java
- 13. ¿Cómo cambio la prioridad de un proceso?
- 14. ¿Existe una forma de plataforma cruzada no java para iniciar la aplicación asociada para un determinado tipo de archivo?
- 15. Plataforma cruzada Java? Android y computadora de escritorio
- 16. API TCP/IP simple de plataforma cruzada?
- 17. ¿Cuál es la buena plataforma cruzada C++ IDE?
- 18. ¿Tiene Android una forma de mostrar la prioridad del proceso en adb?
- 19. ¿Hay una biblioteca de plataforma cruzada C++?
- 20. Plataforma cruzada ligera C GUI (OpenGL)
- 21. Función de suspensión de plataforma cruzada para C++
- 22. API de sonido de plataforma cruzada para juegos?
- 23. Cambiar la prioridad en una cola de prioridad personalizada
- 24. ¿Existe alguna forma de plataforma cruzada para abrir un buscador de archivos en Python?
- 25. ¿Qué es una forma de plataforma cruzada para reproducir un archivo de sonido en python?
- 26. Forma de plataforma cruzada para obtener el directorio temporal en Python
- 27. ¿Qué es una forma de plataforma cruzada para obtener el directorio actual?
- 28. Operaciones de escritura de archivos atómicos (plataforma cruzada)
- 29. ¿Forma de plataforma cruzada para producir un hilo en C/C++?
- 30. ¿Para qué es la configuración de prioridad del proceso en "tiempo real"?
en el * "escribir una vez, ejecutar en cualquier lugar" * sentido multiplataforma, no. Pero crear una pequeña pieza de código no portátil que funcione en cada Un * x (incluido OS X) y cada máquina de Windows realmente no es tan difícil. +1 a la respuesta de Stephen C. – SyntaxT3rr0r