Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2008
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Hola a todos de nuevo... Leyendo la respuesta de Rolphy Reyes me asalta la siguiente duda: ¿un timer no es un thread?. Es decir, a mi modo de entender un timer, yo pensaba que no era más que un thread en paralelo que cuando le toca realizar una tarea la realiza sin más. ¿Qué diferencias habría entre tener varios timers en una aplicación y varios hilos con un timer?
Gracias por vuestras respuestas...
PD: hay q ver todo lo que estoy aprendiendo !!! (y todo lo que me queda por aprender )

Saludos!!!
Responder Con Cita
  #2  
Antiguo 29-10-2008
Avatar de RolphyReyes
RolphyReyes RolphyReyes is offline
Miembro
 
Registrado: ago 2004
Ubicación: Santo Domingo
Posts: 285
Poder: 20
RolphyReyes Va por buen camino
Smile

La diferencia básica y principal es que cuando ejecutas un Timer desde la aplicación sin Thread (Hilos) se ejecuta en modo Sincrónico y con hilos es Asincrónico.
__________________
Gracias,
Rolphy Reyes
Responder Con Cita
  #3  
Antiguo 29-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por vejerf Ver Mensaje
¿un timer no es un thread?.
No.

Un TTimer de delphi sólamente engloba varias llamadas a la API de windows, (las más relevantes: SetTimer y KillTimer) además de ponerte el componente en la paleta de delphi para más comodidad.

Como esas rutinas pertenecen a la API, es difícil saber cómo están implementadas internamente. Hace mucho leí que un ordenador incluía 4 cronómetros hardware y que dichas APIs lo manejaban, (no tengo referencias para corroborar eso).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 30-10-2008
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Supongamos entonces que quiero implementar un reloj. Lógicamente este deberá cambiar cada segundo. ¿Con qué sería mejor hacer esto con un timer o con un thread? ¿Qué ventajas/inconvenientes podría tener cada uno?

De nuevo mil gracias por vuestras respuestas y vuestra paciencia...
Responder Con Cita
  #5  
Antiguo 30-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
No te compliques la vida, un timer y marchando.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 30-10-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por vejerf Ver Mensaje
Supongamos entonces que quiero implementar un reloj. Lógicamente este deberá cambiar cada segundo. ¿Con qué sería mejor hacer esto con un timer o con un thread? ¿Qué ventajas/inconvenientes podría tener cada uno?
Pues usando el reloj del sistema que para eso esta . No intentes contar tu los segundos, por ejemplo incrementando una variable en el evento del timer porque por muy preciso que sea siempre tendras un pequeño error y con el tiempo (despues de un par de horas) "tu reloj" terminara atrasando o adelantando. Lo mejor es que utilices el timer para mostrar el valor de hora del sistema en, por ejemplo, un label.

Código Delphi [-]
label1.caption:= TimeToStr(Now);

¿Y si quieres hacer un cronometro? Pues te digo lo mismo Simplemente tienes que guardar el valor inicial. Por ejemplo:
Código Delphi [-]
// Cuando comiences la cuenta
Marca:= Now;
 
 
// Para mostrar el tiempo transcurrido
label1.caption:= TimeToStr(Now-Marca);
Responder Con Cita
  #7  
Antiguo 30-10-2008
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
¿¿80 timers??... pues el problema que salta a la vista es el consumo de recursos, y muy posiblemente la sincronización de componentes y variables....

¿¿¿Por que no pensar en un solo Timer, que controle la actaulización de los 80 componentes???.

Tu dices que cada Componente se actualiza con diferente intervalo de tiempo, pues no importa, debes idear una estructura en la que lleves la hora de inicio y el intervalo por cada componente. El timer se podría ejecutar cada segundo y evaluar en una sola función todos los componentes....

Saludos,
Responder Con Cita
  #8  
Antiguo 30-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por gatosoft Ver Mensaje
¿¿80 timers??... pues el problema que salta a la vista es el consumo de recursos, y muy posiblemente la sincronización de componentes y variables....

¿¿¿Por que no pensar en un solo Timer, que controle la actaulización de los 80 componentes???.

Tu dices que cada Componente se actualiza con diferente intervalo de tiempo, pues no importa, debes idear una estructura en la que lleves la hora de inicio y el intervalo por cada componente. El timer se podría ejecutar cada segundo y evaluar en una sola función todos los componentes....

Saludos,
¿Y no es acaso lo que recomendó Lepe unos post antes?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #9  
Antiguo 31-10-2008
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Ahora lanzo otra pregunta vista las respuestas. ¿Qué sería más conveniente usar entonces un timer y comprobar todos los elementos o usar el recurso de los hilos como propone DolphyReyes?
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
Duda con un array de Timers vejerf OOP 7 15-10-2008 16:02:07
Cantidad de veces que se ejecuta una aplicación efelix OOP 3 09-11-2006 17:23:55
Duda sobre instalación de aplicación creada en Delphi vick Conexión con bases de datos 6 19-12-2005 16:12:15
Duda en utilizar 2 Timers para comunicacion paralelo ibstk Varios 2 05-08-2004 03:59:26
Duda sobre creacion de aplicación CFPA86 Varios 1 05-09-2003 20:20:43


La franja horaria es GMT +2. Ahora son las 08:38:21.


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