Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/01/2009, 01:59
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Hebra... llena 100% de Recursos de la CPU y no se por que...

¿Qué os parece esto?

Código:
        private void button1_Click(object sender, EventArgs e)
        {
            System.Threading.Thread objHebra = new System.Threading.Thread(new System.Threading.ThreadStart(ProcesarPeticiones));
            objHebra.IsBackground = true;
            objHebra.Start();
        }

        private System.Collections.Queue _ColaPeticiones = new System.Collections.Queue();
        private void ProcesarPeticiones()
        {
            bool procesarPeticiones = true;
            while (procesarPeticiones)
            {
                if (_ColaPeticiones.Count > 0)
                {
                    Object[] objetosRecibidos = (Object[])_ColaPeticiones.Dequeue();
                    ClsMensaje objMensaje = (ClsMensaje)objetosRecibidos[0];
                    TcpClient clienteConectado = (TcpClient)objetosRecibidos[1];

                    ProcesarMensaje(objMensaje, clienteConectado);
                }else{
                     procesarPeticiones = false;
                }
            }
        }

Y cada vez que se vaya a meter una petición nueva, ejecutar la Hebra. ¿Como lo veis?
__________________
Charlie.