Panoramica dell'API Activity Coordinator

L'API Activity Coordinator coordina l'esecuzione di attività rinviabili, denominate attività, in un sistema Windows.

Le attività possono rinviare l'esecuzione a un momento in cui il sistema è in uno stato desiderato, quando l'esecuzione dell'attività non interferisce con l'esperienza dell'utente o le prestazioni del sistema. Ciò consente di distribuire in modo più uniforme il consumo totale di applicazioni nel sistema in momenti in cui l'utente è inattivo o il sistema è inattivo. L'API fornisce un coordinamento centralizzato di queste decisioni per evitare scenari in cui le applicazioni riducono l'esperienza utente competere per le risorse di sistema.

Utilizzo

Gli sviluppatori usano l'API definendo i criteri che descrivono lo stato desiderato del sistema durante il quale vogliono eseguire le attività. Sottoscrivendo questi criteri, gli sviluppatori ricevono una notifica quando avviare o arrestare l'attività in base alla soddisfazione delle condizioni dei criteri. L'API coordina queste notifiche tra le sottoscrizioni nel sistema per fornire una determinazione centralizzata di ciò che è un momento appropriato per eseguire il lavoro differibile.

L'uso dell'API non impedisce l'esecuzione delle applicazioni in base alle esigenze. Si basa su di essi per essere buoni cittadini, scegliere criteri appropriati e prendere decisioni di esecuzione in risposta alle notifiche API. Inoltre, l'uso dell'API richiede l'esecuzione del processo chiamante. Le applicazioni non devono basarsi sull'API Activity Coordinator per il lavoro ad alta priorità che deve essere eseguito indipendentemente dalle condizioni di sistema.

Windows include diverse API disponibili per gli sviluppatori per rinviare o pianificare le attività. Usare la guida seguente per determinare quale API è migliore per l'applicazione.

API Uso previsto
Coordinatore attività Usare Activity Coordinator per coordinare l'esecuzione di attività differibili in base alle condizioni di sistema desiderate.
Servizio trasferimento intelligente in background (BITS) BITS viene usato dai programmatori e dagli amministratori di sistema per scaricare o caricare file nei server Web HTTP e nelle condivisioni file SMB. Il costo del trasferimento verrà preso in considerazione, nonché l'utilizzo della rete in modo che il lavoro in primo piano dell'utente abbia il minor impatto possibile.
Utilità di pianificazione L'Utilità di pianificazione consente di eseguire automaticamente attività di routine in un computer scelto. Usare questa API per eseguire attività come l'avvio di un'applicazione, l'invio di un messaggio di posta elettronica o la visualizzazione di una finestra di messaggio. Le attività possono essere pianificate per l'esecuzione in risposta a eventi o trigger.

Criteri, risorse e condizioni

I criteri descrivono le condizioni di molte risorse di sistema. Gli sviluppatori configurano i criteri associando ogni risorsa a una "condizione" desiderata per iniziare a usare tale risorsa. Le condizioni descrivono lo stato qualitativo di una risorsa e possono essere valutate da fattori.

La combinazione di risorse e condizioni consente agli sviluppatori di descrivere lo stato desiderato del sistema per garantire che l'esecuzione del carico di lavoro non influisca negativamente sull'esperienza utente o sulle prestazioni del sistema. Poiché lo stato del sistema cambia sempre, la sottoscrizione a questi criteri fornisce notifiche relative all'avvio o all'arresto del lavoro in base al fatto che il criterio sia soddisfatto (aperto) o non soddisfatto (chiuso).

Modelli di criteri

I modelli di criteri consentono agli sviluppatori di configurare i criteri con condizioni predefinite delle risorse progettate per soddisfare le esigenze della maggior parte delle applicazioni. Un modello di criteri è necessario quando si crea un criterio e viene usato come punto di partenza per configurare criteri specifici per le esigenze dello sviluppatore. Viene fornito un modello di criteri vuoto per gli sviluppatori che vogliono avere il controllo completo sui criteri.

API e terminologia di Activity Coordinator

Scelta dei criteri di Activity Coordinator corretti

Progetto di esempio Activity Coordinator