Tengo una lista de números de cuenta. Número de cuenta de Foreach Necesito llamar al método ProcessAccount
. Habrá aproximadamente 150,000 cuentas que deben procesarse y cada cuenta puede tardar entre .5 y 2 segundos en procesarse.¿Forma fácil de procesar la cola con N hilos en C#?
Me gustaría configurar el enhebrado de alguna manera para poder procesar 4 cuentas a la vez, por ejemplo.
¿Hay un patrón simple que pueda usar para esto?
Lo que me gustaría hacer es iniciar 4 subprocesos procesando las primeras 4 cuentas, y luego, cuando termine cada subproceso, iniciar otro subproceso con la siguiente cuenta hasta que todas las cuentas hayan sido procesadas.
FYI - Lo más probable es estar en ejecución de una aplicación de consola. – AWeim
¿Cuál es la dependencia de 'ProcessAccount'? ¿Es esto una operación de cálculo o una operación de enlace de E/S? –
Bryan tiene un buen punto allí, mencionas una lista, ¿es eso una lista? Si necesita leer datos del disco, llamar a servicios remotos o algo, las cosas son muy diferentes de cuando tiene todos los datos que necesita en la memoria. Para acelerar las cosas, primero debe identificar su cuello de botella –
gjvdkamp