C # librerie per le azioni temporizzate
-
09-10-2019 - |
Domanda
ti vedi # librerie C che consentono di sequenziare una serie di azioni, vale a dire. ogni azione eseguire quando la precedente ha terminato, o meglio ancora, dopo il verificarsi di un intervallo di tempo specifico.
Grazie.
Soluzione
http://msdn.microsoft.com/en-us/ biblioteca / dd537609.aspx
Il metodo di Task.ContinueWith let si specifica un compito per essere avviato quando il completamento del compito antecedente.
Esempio
var task = Task.Factory.StartNew(() => GetFileData())
.ContinueWith((x) => Analyze(x.Result))
.ContinueWith((y) => Summarize(y.Result));
Altri suggerimenti
quartz.net . per sincronizzare azioni, utilizzare ad es. eventi, waithandles , Monitor.Wait()
e Monitor.Pulse()
...
altrimenti si può gestire un insieme di azioni, ad esempio
var methods = new List<Func>
{
FooMethod1,
FooMethod2
}
foreach (var method in methods)
{
method.Invoke();
}
, ma questo ha senso solo se non si dispone di un moderatore metodo (elaborazione sequenziale) o ai vostri metodi non dovrebbe sapere gli uni degli altri.
Per le operazioni pianificate siete alla ricerca di una libreria che supporta cron posti di lavoro. Ecco quello che ho utilizzato in un progetto.
http: // blog .bobcravens.com / 2009/10 / un-evento-based-cron-programma-lavoro-in-c /
Un sacco di librerie esistenti. Ho trovato molti sono ricchi di funzionalità e un po 'pesante.
Spero che questo aiuti.
Bob