2012-01-18 5 views
12

Ho sempre visto le parole chiave async utilizzate in Silverlight, ma mi chiedevo se c'è qualcuno con una spiegazione di dummy di cosa sia, quando usarlo e i suoi benefici. Per favore se puoi spiegare, sarà molto riconoscente. Grazie.Cosa è asincrono e attendi e quando vorresti utilizzarli nello sviluppo di Windows?

+0

Ciò viene un sacco con filettatura Si tratta di una abbastanza grande argomento, ma se si desidera solo una pratica di risposte di base una sola frase, asincrono significa che due le cose accadono nel tempo indipendentemente l'una dall'altra. Ad esempio, hai un pulsante che interroga un database. Se non fai di tutto per renderlo asincrono, l'intero programma si ferma e aspetta che finisca prima di permetterti di fare qualsiasi altra cosa. Se non vuoi che ciò accada, puoi renderlo asincrono (di solito usando un altro thread) e mantenere il controllo dell'interfaccia utente, ad esempio. – CptSupermrkt

+0

@CptSupermrkt indica che uno dei punti principali di async/await è * per evitare di generare nuovi thread *. Vedi, ad esempio, http://blogs.msdn.com/b/ericlippert/archive/2010/10/29/asynchronous-programming-in-c-5-0-part-two-whence-await.aspx, che dice in parte "L'intero punto dei metodi asincroni è che tu rimanga il thread corrente il più possibile". – phoog

+0

@phoog - I thread di spawning non sono la stessa cosa che rimanere sul thread corretto. –

risposta

12

Dai uno sguardo allo this blog post, ti dà una bella introduzione e spiegazione di cosa sono asincrone e attese.

Se si vuole capire davvero, avere uno sguardo a Jon Skeet's series on async and await

+0

Il primo link "questo post del blog" è incredibilmente chiaro e utile. Chiarito un sacco di cose. –

+3

Sebbene ciò possa teoricamente rispondere alla domanda, [sarebbe preferibile] (// meta.stackoverflow.com/q/8259) includere qui le parti essenziali della risposta e fornire il link per riferimento. – Makyen

15

Inizia con my introductory article in MSDN magazine.

E quindi leggere the papers on the async CTP site.

E quindi leggere these fifteen articles:.

Se dopo tutto ci sono ancora domande, prova a chiedere allo the async forum.

+2

Mentre questo può teoricamente rispondere alla domanda, [sarebbe preferibile] (// meta.stackoverflow.com/q/8259) per includere qui le parti essenziali della risposta e fornire il link per riferimento. – Makyen

+0

@Makyen: ti incoraggio a scrivere una risposta che faccia esattamente questo. In questo modo beneficiamo tutti della tua saggezza. –

+2

Sono sicuro che sei più qualificato di me. Il mio commento è inteso come più di una piccola spinta per ricordarvi che questa è una delle risposte che è stata influenzata dal cambiamento di SO nel corso degli anni. È passato dall'essere perfettamente accettabile all'essere "non una risposta" a causa dell'essere solo una raccolta di link (uno dei quali è morto, prima che morisse è cambiato in modo significativo dopo averlo aggiunto qui). Il fatto che un link sia morto è un buon esempio del perché è preferibile includere qui gli elementi essenziali. – Makyen

Problemi correlati