Procesamiento con hilos
Hola amigos.
Tengo un programa desarrollado en Delphi 7 hace varios años con el cual no he tenido problemas hasta ahora.
Lo que hace es lo siguiente.
Es un servidor que lee datos de un archivo binario cada 500 milisegundos y los buelca en distintas estructuras en memoria y cada 2 segundos toma estas estructuras las vuelca en un memory stream, las comprime y las envía por tcp a cada programa cliente conectado.
Ahora esa cantidad de clientes ha crecido y el tiempo que tarda en enviarle esa informacion a todos me tarda alrededor de 1 segundo con lo cual he perdido 2 lecturas del archivo binario. Mi gran duda es como hago para que un hilo se encargue de despachar por tcp a los clientes mientras el hilo principal sigue haciendo su lectura cada 500 milisegundos sin preocuparse por la demora del envío. Tendría que hacer una copia de las estructuras del hilo principal para que el hilo secundario haga el envío y que las modificaciones que sigue haciendo el hilo principal no las afecte?. Alguna idea de como desde el hilo secundario puedo ver cada uno de los clientes conectados al servicio y hacerles el envío?
Gracias.
|