Ho diversi compiti a bassa impronta da eseguire quando è disponibile un po 'di tempo per la cpu. Non voglio che questa attività venga eseguita se sono in esecuzione altre attività di importazione. Ad esempio, se viene eseguito un task normale/ad alta priorità, desidero sospendere l'attività di importanza bassa finché non viene eseguita l'attività di importanza.C# priorità del filo inferiore nel pool di filetti
Esiste un numero piuttosto elevato di attività a bassa importanza da eseguire (da 50 a 1000). Quindi non voglio creare un thread per attività. Tuttavia, credo che il threadpool non permetta alcune specifiche di priorità, vero?
Come faresti a risolvere questo?
Il trucco è che non voglio iniziare i compiti date le loro priorità, voglio che vengano eseguiti in base alla loro condizione. (vale a dire un'attività a bassa priorità dovrebbe interrompersi se si esegue una priorità alta) – Toto
NB: Sto usando il framework 3.5 – Toto
Quindi dovresti cercare "priority queue C#" - ce ne sono molti, ma io posso t raccomandare direttamente qualsiasi particolare. Sospetto * che il TPL lo offra direttamente quando viene rilasciato. –