elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Control de prioridad de ejecución de núcleos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Control de prioridad de ejecución de núcleos.  (Leído 1,969 veces)
Programar_Java

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Control de prioridad de ejecución de núcleos.
« en: 12 Noviembre 2018, 12:42 pm »

Hola a todos buenos días, he estado trabajando unas semanas con un programa de Java que resuelve cálculos matemáticos  y todo funciona perfectamente. Pero me pica la curiosidad de saber si se puede hacer que el programa solo se ejecute sobre un núcleo completamente. Se que desde el Administrador de tareas se puede seleccionar un programa y hacer que trabaje sobre un Núcleo pero me gustaría  saber si se puede hacer esta acción directamente desde java programando lo. Resumen solo quiero que este programa use un núcleo para realizar calculosos y dejar los demás en reposo. Hay forma de hacer esto directamente desde JAVA ?  ;-)


En línea

sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: Control de prioridad de ejecución de núcleos.
« Respuesta #1 en: 13 Noviembre 2018, 18:25 pm »

la "mejor forma y mas facil" de hacerlo es con stream

este es un ejemplo de como
creo un stream de los numeros del uno al 6 (1)
luego le ordeno que los calculos sean en paralelo (2)
luego lo multiplico cada elemento por 2 (3)
luego filtro los que son mayores a 3 (4)
luego le saco el minimo de todos (5)
y en caso de que haya error muera muera tragica y pateticamente sin darle auxilio

Código
  1.  
  2. int min = Stream.of(1, 2, 4, 5, 6).   //1
  3.                parallel().                      //2
  4.                mapToInt((x) -> x * 2). //3
  5.                filter((x) -> x > 3).        //4
  6.                min().                           //5
  7.                orElseThrow(NoSuchElementException::new);//6
  8.        System.out.println(min);
  9.  
  10.  


recuerda que lo mas probable cuando uses streams malogre el rendimiento (es solo para gente grande con pelos en el pecho y lomo plateado)

los stream mejorar el rendimiento solo cuando son calculos de muy alto costo computacional para casos chicos incluso puede empeorar la unica forma de tener un grado de seguridad es con experimentos realistas o un analisis estadisco de datos historicos de forma muy rigurosa

leea para tener fundamento teorico
1 experimentcion k a la n
2 universal escalability law
3 historgrama
4 percentiles
5 usa el "#$%$ excel


« Última modificación: 13 Noviembre 2018, 18:34 pm por sapito169 » En línea

rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: Control de prioridad de ejecución de núcleos.
« Respuesta #2 en: 13 Noviembre 2018, 20:26 pm »

la "mejor forma y mas facil" de hacerlo es con stream

este es un ejemplo de como
creo un stream de los numeros del uno al 6 (1)
luego le ordeno que los calculos sean en paralelo (2)
luego lo multiplico cada elemento por 2 (3)
luego filtro los que son mayores a 3 (4)
luego le saco el minimo de todos (5)
y en caso de que haya error muera muera tragica y pateticamente sin darle auxilio

Código
  1.  
  2. int min = Stream.of(1, 2, 4, 5, 6).   //1
  3.                parallel().                      //2
  4.                mapToInt((x) -> x * 2). //3
  5.                filter((x) -> x > 3).        //4
  6.                min().                           //5
  7.                orElseThrow(NoSuchElementException::new);//6
  8.        System.out.println(min);
  9.  
  10.  


recuerda que lo mas probable cuando uses streams malogre el rendimiento (es solo para gente grande con pelos en el pecho y lomo plateado)

los stream mejorar el rendimiento solo cuando son calculos de muy alto costo computacional para casos chicos incluso puede empeorar la unica forma de tener un grado de seguridad es con experimentos realistas o un analisis estadisco de datos historicos de forma muy rigurosa

leea para tener fundamento teorico
1 experimentcion k a la n
2 universal escalability law
3 historgrama
4 percentiles
5 usa el "#$%$ excel


Mmmm...

pero no se, el parallel stream si mas bien usa mas cores en paralelo  :-\  dividiendo el trabajo en trozos o chunks

y este usuario no quiere mas bien usar uno?

no entiendo  :xD




Desde el propio so creo que también esta la posibilidad de configurar para usar un nucleo max para una app si no me equivoco, que seria lo mismo hacer un bash o hasta modificar el registro de windows por ejemplo hasta con el mismo java
« Última modificación: 14 Noviembre 2018, 15:49 pm por rub'n » En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: Control de prioridad de ejecución de núcleos.
« Respuesta #3 en: 13 Noviembre 2018, 23:57 pm »

waaa no lei bien

le quitas el parrallel(linea 3) y ya  se ejecuta en un solo nucleo
o programas normal con bucles y sin usar hilos y ya no habría forma de usar varios nucleos
« Última modificación: 14 Noviembre 2018, 02:07 am por sapito169 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
VBS residente para control de ejecución de un bat. ¿? « 1 2 »
Scripting
Shinseiki86 13 6,743 Último mensaje 28 Octubre 2009, 21:46 pm
por Shinseiki86
prioridad y afinidad en windows « 1 2 »
Windows
XxTheCochixX 10 12,458 Último mensaje 25 Enero 2011, 15:14 pm
por XxTheCochixX
Prioridad en archivo de estilos CSS
Desarrollo Web
Skeletron 2 3,267 Último mensaje 10 Febrero 2012, 02:04 am
por Skeletron
Cambiar prioridad a un proceso
Programación Visual Basic
rapbyone 4 2,813 Último mensaje 27 Julio 2015, 06:25 am
por BlackZeroX
[C] Prioridad de las funciones
Programación C/C++
fafafa01 2 2,053 Último mensaje 6 Febrero 2017, 15:32 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines