Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo Hace 4 Días
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.567
Poder: 19
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
El problema de fondo es que la estructuración que tienes no es la ideal para multihilos. La mayoría de los lenguajes no ayudan tampoco, incluido Delphi.

Yo haría lo siguiente:

- Anula por ahora lo de multihilos
- Convierte el código en una maquina de estados. Asegurate de PASAR DATOS(valores) y no POINTERS. En donde haces una transferencia, clona información.

Una vez tengas limpio el código y andando lo pones y te sugerimos como estructúralos para hilos...
__________________
Nuevo Blog.
Ahora en Twitter!.
Responder Con Cita
  #22  
Antiguo Hace 4 Días
hal1967 hal1967 is offline
Miembro
 
Registrado: feb 2012
Posts: 17
Poder: 0
hal1967 Va por buen camino
Conexion no es threadsafe

Recuerda una conexión a una base de datos no es Threadsafe. Es posible que estás a mitad de una consulta y entre otro hilo (o el principal) y se cruce. Al servidor llegaría algo como "SELECT * FROM UPDATE ...".


Eso no solo pasaría con ODBC, pasaría con cualquiera.



Los servidores son threadsafe por que cada conexión es un hilo, pero no deberías tener en la misma conexión varios hilos al menos que trabajes con sincronización o locks (lo cual puede ser frustrante).


A otro nivel, a mi me ha tocado trabajar con cientos de hilos y es espetacular cuando funciona bien y de forma eficiente. No tienes porque crear un hilo, consultar y destruirlo, lo puedes volver a utilizar, lo creas en pausa con todos sus conexiones y dataset, cuando lo requieras start, cuando cierres tu aplicación liberas los hilos (previamente detenidos). La otra forma es que tengas un ciclo dentro del hilo, y al cerrar tu app, terminas previamente los hilos.


Si optas por algo de esto, no olvides, todo hilo debe ejecutarse al menos una vez, caso contrario dejas memoria en mal estado.
Responder Con Cita
  #23  
Antiguo Hace 4 Días
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.857
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Cita:
Empezado por cmfab Ver Mensaje
Cuando el hilo se termina el Dataset creado en el mismo se destruye con la instrucción que puse anteriormente.
... por lo cual deduzco que la propia clase hace el trabajo.

Has creado los Datasets usando como Owner, el objeto Application, por lo tanto deberías revisar ese comportamiento.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #24  
Antiguo Hace 3 Días
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 406
Poder: 9
cmfab Va por buen camino
Solución.

Bueno definitivamente el tema se ha solucionado (al menos en las últimas 24 horas) aumentando el tiempo de las conexiones de 20 a 60 segundos, por lo que al parecer el controlador ODBC requiere de tiempo quizá para liberar recursos. aún no he puesto la pregunta en la web de soporte del proveedor, pero casi seguro que por ahí anda el tema.

Gracias a todos por sus recomendaciones y opiniones.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Ejecución bloqueada. Hilos de ejecución muli Desarrollo en Delphi para Android 10 28-11-2016 16:16:03
Crear Hilos de Ejecución con TIdFTP JAI_ME Varios 12 13-12-2013 19:28:39
Ayuda con Hilos de ejecucion kurono Varios 19 15-01-2011 16:36:40
Problema con hilos de ejecucion gueritox OOP 1 14-08-2010 16:26:06
Hilos de ejecucion el toluca Varios 2 29-06-2004 23:59:04


La franja horaria es GMT +2. Ahora son las 14:48:07.


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