Tengo una aplicación C# .NET que necesita informar de 4000 a 40,000 dispositivos conectados para realizar una tarea al mismo tiempo (o lo más simultanea posible).Creando miles de subprocesos rápidamente y ejecutándolos casi simultáneamente
La aplicación funciona bien; sin embargo, no estoy satisfecho con el rendimiento. En un mundo perfecto, tan pronto como envíe el comando me gustaría ver que todos los dispositivos respondan simultáneamente. Sin embargo, parece haber una demora ya que todos los hilos que he creado giran y realizan la tarea.
He utilizado .NET 4.0 ThreadPool, he creado mi propia solución usando hilos personalizados e incluso he modificado el ThreadPool existente para permitir que se ejecuten más hilos a la vez.
Todavía quiero un mejor rendimiento y es por eso que estoy aquí. ¿Algunas ideas? ¿Comentarios? ¿Sugerencia? Gracias.
-Shaun
quiero añadir que la aplicación notifica estos 'dispositivos conectados' que necesitan para ir a escuchar para el audio en una dirección de multidifusión.
¿Qué tipo de red es esta? está enviando a través de una multidifusión UDP una opción? –
Sí, indicando a miles de dispositivos que vayan a escuchar audio en una dirección de multidifusión. –
¿Tiene de 4,000 a 40,000 CPU/núcleos? Si lo hace, entonces puede ejecutar todos los hilos al mismo tiempo ... pero si puede multidifundir en UDP, entonces ¿por qué molestarse con los hilos? – Kiril