Ir al contenido


Foto

MultiHilos y Firebird


  • Por favor identifícate para responder
6 respuestas en este tema

#1 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 13 febrero 2009 - 09:50

Saludos compañeros.

Algunos de ustedes tiene implementado en sus sistemas Hilos con Firebird??

Agradezco un ejemplo y cualquier teoría que sirva, ejejej.
  • 0

#2 Kipow

Kipow

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 228 mensajes
  • LocationGuatemala

Escrito 13 febrero 2009 - 12:12

Mi unica experiencia hasta el momento con Hilos es un sistema que utilizo para replicacion de datos entre sucursales. bueno para no tener problemas en el objeto del hilo creo dinamicamente los componentes IBX que necesito para realizar esas operaciones. algo como:



delphi
  1. TReplica = class(TThread)
  2.   public
  3.       procedure SetParams(_Enlace : Integer; _Ruta : string);
  4.   private
  5.     { Private declarations }
  6.     BD_Replica : TIBDatabase;
  7.     Trn_Replica : TIBTransaction;
  8.     Enlace : Integer;
  9.     Ruta : String;
  10.   protected
  11.     procedure Execute; override;
  12.   end;



le paso los parametros al crearlo y ya en el execute creo la base y realizo las operaciones que necesito. con esto cerobolas.


Aunque seria bueno ver que es lo que queres hacer exactamente para poder ayudarte en lo que se pueda.
  • 0

#3 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 13 febrero 2009 - 12:20

Saludos.

Básicamente lo que quiero realizar es consultas, como sabrás estas dependiendo de la tabla que sea puede o no tardar, y como uno tiene cierta experiencia en saber cuales son las que aumentan considerablemente de tamaño quiero implementar esta tecnología.

Gracias.
  • 0

#4 Kipow

Kipow

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 228 mensajes
  • LocationGuatemala

Escrito 13 febrero 2009 - 12:42

voy a trabajar algo en eso que precisamente he querido hacerlo para agilizar algunos procesos y posteo los resultados por aca. :) pero para darte una idea de lo que voy a hacer es.

Definir clase para hacer consultas threadsafe con componentes IBX. todo esto lo centrare en una funcion en donde se creara internamente esta clase y que retornara como resultado un dataset para su facil manejo.

Definir lista de estas clases para poder ejecutar una serie de consultas y saber en que momento ya estan terminadas.


  • 0

#5 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 14 febrero 2009 - 02:06

voy a trabajar algo en eso que precisamente he querido hacerlo para agilizar algunos procesos y posteo los resultados por aca. :) pero para darte una idea de lo que voy a hacer es.

Definir clase para hacer consultas threadsafe con componentes IBX. todo esto lo centrare en una funcion en donde se creara internamente esta clase y que retornara como resultado un dataset para su facil manejo.

Definir lista de estas clases para poder ejecutar una serie de consultas y saber en que momento ya estan terminadas.


Espero con ansias esos ejemplos, gracias compañero.
  • 0

#6 asapltda

asapltda

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 11 septiembre 2011 - 09:40

Hola logrates resultados? es posible colocar un ejemplo? :tongue:
  • 0

#7 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 12 septiembre 2011 - 02:26

Has de llevar cuidado con no acceder a un mismo componente de base de datos desde 2 hilos, nosotros tenemos un servidor web sencillito integrado en nuestra aplicacion delphi y cuando accede a una tabla (tenemos 3 o 4 tablas pre-creadas que se comparten entre todas las conexiones para ahorrar memoria) nos toca o bien serializar el acceso a esa tabla -nuestro primer intento fue por alqui, pero podia caducarte una conexion esperando- o bien usar un componente que admita multihilo, que es lo que hacemos ahora con UIB (unified interbase).

Si cada hilo se va a crear sus propios componenetes no hay problema, pero si comparten algo, ojo, necesitaras controlar la concurrencia, con UIB, semaforos, o  como mejor veas.
  • 0




IP.Board spam blocked by CleanTalk.