Sto scrivendo un servizio di Windows (usando C # .NET 3.5 VS2008) e il mio requisito è:
-
All'avvio del servizio di Windows - esegue l'operazione di controllo dei record (nel database) @ ogni intervallo di 30 secondi (ho usato un timer per questo)
-
Se nel database è stato trovato il record appropriato, quindi avvia più thread ed esegue l'operazione richiesta (che può essere operazione di rete o operazione Database).
Il numero di thread multipli dipende anche dalla quantità di record trovati (come se 10 record trovati poi inizino 5 thread e per 20 record iniziano 10 thread ecc ...) Come progettare / codice per questi thread multipli?
Esempio: 10 record trovati nel database, voglio iniziare 5 thread per i primi 5 record che possono eseguire operazioni di rete ... su 5 thread qualsiasi thread completi il suo lavoro - inizierà l'elaborazione per il record successivo (es. numero 6, 7 ... 10)
Si prega di suggerire la migliore soluzione possibile per il caso di cui sopra.