Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2013
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
Ayuda con prioridad de un Thread..

Que tal amigos, acá sigo trasteando con Builder C++ 6..

Sucede que hago una aplicación en la que uso un objeto TThread de Builder... el cual me funciona aceptablemente; sin embargo para mejorar el rendimiento intento subirle la prioridad al programa para lo cual estoy usando:

miHilo->Priority=THREAD_PRIORITY_ABOVE_NORMAL;

El mismo no me genera error ni nada parecido; y todo parece estar funcionando; sin embargo al ejecutar el programa y usar el "Administrador de Tareas de Windows" (Ctrl+Alt+Del), en la ficha referente a "Procesos" y encontrar mi aplicación "Project1.exe", en sus opciones de establecer prioridad, la misma aún se encuentra marcada con una prioridad "Normal"... esto funciona así? no debería acaso marcarme la opción "Arriba de lo Normal" o me falta activar algo más?

De antemano gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 27-05-2013
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Cita:
Empezado por Novatin Ver Mensaje
sin embargo al ejecutar el programa y usar el "Administrador de Tareas de Windows" (Ctrl+Alt+Del), en la ficha referente a "Procesos" y encontrar mi aplicación "Project1.exe", en sus opciones de establecer prioridad, la misma aún se encuentra marcada con una prioridad "Normal"... esto funciona así? no debería acaso marcarme la opción "Arriba de lo Normal" o me falta activar algo más?
Hola. No estoy muy "curtido" en el tema de hilos, pero lo que estás haciendo es cambiar la prioridad a uno de los hilos de tu aplicación, no a la aplicación en si,
por eso en el "Administrador de Tareas de Windows", que muestra la prioridad de las aplicaciones, no ves ese cambio reflejado.

Mira los enlaces que hay al final de la página y estos, que aunque sean para Delphi, te pueden servir:
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #3  
Antiguo 27-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Novatin Ver Mensaje
miHilo->Priority=THREAD_PRIORITY_ABOVE_NORMAL;
...
sin embargo al ejecutar el programa y usar el "Administrador de Tareas de Windows" (Ctrl+Alt+Del), en la ficha referente a "Procesos" y encontrar mi aplicación "Project1.exe", en sus opciones de establecer prioridad, la misma aún se encuentra marcada con una prioridad "Normal"... esto funciona así? no debería acaso marcarme la opción "Arriba de lo Normal" o me falta activar algo más?
Hola Novatin.

En realidad, lo que se está mostrando en la ventana Establecer prioridad es la del proceso.
Agregá un botón con este código en el evento OnClick:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  SetPriorityClass(GetCurrentProcess, HIGH_PRIORITY_CLASS); // <- !
  SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_HIGHEST);
}
Ejecutalo y revisá nuevamente la ventana Establecer prioridad.

Saludos.

Edito: Atendí el tel. y no ví el mensaje de defcon1_es. Coincido con su apreciación del motivo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 27-05-2013 a las 18:12:47.
Responder Con Cita
  #4  
Antiguo 27-05-2013
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
Tomé tus consejos defcon1_es ,y me leí los links (con lo extraño que me parece el código en delphi)... y justo cuando creí que había comprendido correctamente, puse en prueba en un nuevo Form el código que indicó ecfisa:

codigo:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   SetPriorityClass(GetCurrentProcess, HIGH_PRIORITY_CLASS); // <- !
   SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_HIGHEST);
}
Y pasa que nada...! le di de "clickazos" al "Button" y nada!
y aún lo puse dentro del TForm1::Create(), y la prioridad de la aplicación (revisada desde el Administrador de Win") sigue en "Normal"...

Algún detalle más que debería tomar en cuenta?
Responder Con Cita
  #5  
Antiguo 27-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Novatin.

Mis disculpas, lo escribí de memoria y se me mezcló Delphi con Builder C++

Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS); 
  SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST);
}
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 27-05-2013
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
ecfisa, Dicen por ahi que: "Al mejor cazador se le va la liebre..." o los paréntesis..

Ahora si ya me Funciono!
Aunque lo raro es que Builder haya filtrado el detallito ese..

Pero vale, con el ejemplo ya tengo para distraerme un rato..

Saludos y Gracias por todo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
subirle la prioridad a una aplicacion Rolando Glez API de Windows 6 28-09-2012 20:40:42
Prioridad de posiciones franfl C++ Builder 2 21-06-2008 12:18:00
Prioridad en programas de inicio Onti Varios 2 27-03-2007 19:30:32
Trabajo con cola con prioridad oracle C++ Builder 4 22-02-2007 04:05:55
Thread bendito thread...se me pierde la ventana Seba.F1 API de Windows 5 02-02-2006 00:16:30


La franja horaria es GMT +2. Ahora son las 22:11:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi