wie Add Aufgaben Priorität Funktionalität
-
28-09-2019 - |
Frage
verwende ich Task-Bibliothek für meinen Bildkomprimierungsdienst. Ich würde viele Dateien Gleichzeitigkeit zu komprimieren. Aber ich mag den Dienst nur ausgeführt werden, wenn Benutzer untätig ist (oder nicht mehr impotarnt Aufgabe Programm).
Ich weiß, dass Threadpool nicht „change Thread-Priorität“ Funktion nicht unterstützt, so Aufgabe hat auch diese Funktion unterstützen.
Kann ich diese Funktionalität auf höherer Ebene der Kontrolle entwickeln? (Taskscheduler Priorität zum Beispiel)
Lösung
Wie @zengr erwähnt, können Sie eine Prioritätswarteschlange Muster verwenden, um dieses Problem zu lösen. Es gibt tatsächlich ein gutes Beispiel in MSDN von Prioritätswarteschlangen Umsetzung mit ConcurrentQueue<T>
Instanzen pro Priorität und dann Wickel, dass mit einem benutzerdefinierten
Andere Tipps
Sie können eine benutzerdefinierte TaskScheduler
für die Parallel-Bibliothek Aufgabe erstellen und dann Zeitplan Aufgaben auf, dass durch eine Instanz davon an dem TaskFactory
Konstruktor.
Hier ist ein Beispiel dafür, wie das zu tun: Taskplaner mit Priorität