![]() |
pool of threads
¿como se puede implementar en delphi un pool of threads?
estoy pensando que seria bueno digamos para cuando se descagan, varios archivos a la vez. como los download managers. o al actualizar un mismo nuestros programas y requerimos de bajar varios archivos a la vez o de diferentes servidores. al enviar archivos en aplicaciones de chat. al enviar video y audio en aplicaciones dechat. o al tener varias ventanas abiertas en chats tipo messenger. y estar chateando con varios contactos. y por supuesto, al ejecutar querys y responder a los datos recibidos. sale gracias por su tiempo. :cool: |
¡Hola!
El manejo de hilos siempre es interesante, JXJ. Pero ¿por qué no nos planteas con mayor concreción y detalle lo que te gustaría hacer para comenzar a componer ideas? :) ¿Te refieres a crear una especie de biblioteca o componente genérico para manejo de grupos de hilos de propósito general, o algo así? Saludos. Al González. :) |
mas bien al reves...
hacer un programa, generico, que implemente un pools of threads. el destino puede ser cualquiera. de los ya dichos. pero me inclino por construir un download manager. |
veamoslo asi..
tenemos que descargar mas de 10 archivos simultaneamente. cada archivo en lugar de descargarlo con un thread que use la descarga secuencial y completa, lo descargamos usando un pool of threads por cada uno de los archivos a descargar donde cada hilo del pool of threads, descarge un trozo del archivo. (se supone. que de esta forma la descarga de un archivo es mas rapida.. por que se descargan trozos, chunks del archivo. y no todo el archivo, y los chuncks o trozos, se ensamblan) algo asi como estos componentes http://clevercomponents.com/products...e/suitemmd.asp |
Las Indy tienen un componente precisamente para esto, no recuerdo su nombre pq cambio entre las versiones 9 y 10 (el nombre) pero sera facil entonctrarlo en la paleta y tb usarlo ya q solo hay q ligarlo a un componente servidor..
|
delfino..
eso no lo sabia.. aun asi. las indy son mi tormento,,,.. aun no logro hacer funcionar una aplicacion chat. sin que me de un time out, o se cierra graciosamente... lo voy a checar, lo de indy con la version 10 pero me gustaria mas una implementacion generica. para adaptarlo a cualquier otra necesidad que se de. |
Pues no lo veo tan dificil utilizando las generics :adorar: yo estoy trabajando algo similar a lo que sugieres vamos a ver si ya con tiempo puedo compartir algo de mi trabajo :)
|
Si lo que quieres es hacer una aplicacion chat, yo tengo hechos una par de componentes llamados tchatserver y tchatclient, que hice para que me sirvieran de base para el ajedrezchat.
Tambien intente hacerlos con INDY y me pasaba los mismo que ati, o peor, timeouts, eventos que no iban, conexiones perdidas, o sea, un verdadero tormento. Asi que los hice con los componentes ICS y me funciona perfectamente, sin un fallo siquiera. Y tambien tengo por ahí unos componentes para http y ftp que usan threads distintos para cada operación. Aunque usan funciones de la librería wininet, pueden servirte para eso del del "pool of threads". Luego los busco y los subo a la web por si te interesan. Lo mismo tardo un poco, pues datan de la época del delphi 2.0 y no se ni donde los tengo. Por no hablar de que el código que escribía por aquella época deeb dejar mucho que desear. Un saludo! |
Cita:
Despues de dominarlos medianamente son lo mejor, potentes y muy eficaces.. |
Cita:
Cita:
Cita:
|
La franja horaria es GMT +2. Ahora son las 08:45:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi