Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-05-2013
Nerox Nerox is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 3
Poder: 0
Nerox Va por buen camino
Encontré esto es un blog:

Cita:
Para ello lo que hacemos es crear un hilo de ejecución heredando de la clase TThread del siguiente modo:

THilo = class( TThread )
Ejecutar: procedure of object;
procedure Execute; override;
end;


La definición anterior hay que colocarla dentro del apartado Type de nuestra unidad (en la sección interface). Le he añadido el procedimiento Ejecutar para poder mandarle que procedimiento queremos que se ejecute paralelamente.

En el apartado implementation de nuestra unidad redifinimos el procedimiento de la clase TThread para que llame a nuestro procedimiento Ejecutar:

procedure THilo.Execute;
begin
Ejecutar;
Terminate;
end;

Con esto ya tenemos nuestra clase THilo para crear todos los hilos de ejecución que nos de la gana. Ahora vamos a ver como se crea un hilo y se pone en marcha:

var
Hilo: THilo; // variable global o pública

procedure CrearHilo;
begin
Hilo.Ejecutar := ProcesarDatos;
Hilo.Priority := tpNormal;
Hilo.Resume;
end;

procedure ProcesarDatos;
begin
// Este es el procedimiento que ejecutará nuestro hilo
// Cuidado con hacer procesos críticos aquí
// El procesamiento paralelo de XP no es el de Linux
// Se puede ir por las patas abajo...
end;

Si en cualquier momento queremos detener la ejecución del hilo:

Hilo.Terminate;
FreeAndNil( Hilo );
¿Es eso a lo que te refieres?
Responder Con Cita
  #2  
Antiguo 14-05-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Nerox Ver Mensaje
Encontré esto es un blog [...] ¿Es eso a lo que te refieres?
En esencia, sí.

Mientras que un temporizador (clase TTimer) trabaja en el mismo "plano" que el resto de tu aplicación (se intercala el evento del temporizador con los eventos habituales de la interfaz de usuario y con los numerosos mensajes del sistema operativo), crear un hilo alterno, con las facilidades que ofrece la clase TThread, hace posible ejecutar tareas en segundo plano sin ninguna o poca interferencia por parte del resto de la aplicación.

Digamos que cuando buscas precisión de tiempo, es mejor crear un hilo alterno que usar un temporizador.

Saludos.
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
Timer coso Trucos 1 14-07-2008 10:28:56
Timer comba OOP 3 18-06-2007 16:54:00
Timer nenufer Varios 7 10-05-2006 16:35:17
Timer ojimenezg2000 Gráficos 10 27-04-2006 14:56:02
timer +1 slim jim Varios 4 02-10-2005 04:03:11


La franja horaria es GMT +2. Ahora son las 14:57:53.


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