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?
risposta
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
Il primo link "questo post del blog" è incredibilmente chiaro e utile. Chiarito un sacco di cose. –
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
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.
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
@Makyen: ti incoraggio a scrivere una risposta che faccia esattamente questo. In questo modo beneficiamo tutti della tua saggezza. –
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
- 1. Quando e perché vorresti trasmettere un oggetto?
- 2. Differenze nello sviluppo tra .NET e Mono
- 3. meccanismo di annullamento asincrono/attendi
- 4. aync e attendi in monotouch
- 5. Decoratori e classi nello sviluppo web Python
- 6. ViewBag, ViewData, TempData, Session: come e quando utilizzarli?
- 7. differenze nello sviluppo per iphone e ipad
- 8. C# asincrono/attendi concatenamento con ConfigureAwait (falso)
- 9. Di cosa è scritto iTunes per Windows?
- 10. Errore nello sviluppo di applicazioni Tumblelog usando Flask e MongoEngine
- 11. Che cosa sono Iteratori e generatori C# e come potrei utilizzarli
- 12. Quale strumento CI vorresti per lo sviluppo GWT?
- 13. Che cosa significa quando un servizio web è asincrono?
- 14. Cosa sono i ResourceContainer e come utilizzarli per gli endpoint del cloud?
- 15. Qual è la differenza tra BrowserWindow e <Webview> Tag in elettrone e quando è consigliabile utilizzarli?
- 16. Cosa fa effettivamente Travis-CI nello sviluppo di PHP?
- 17. ASN.1 vs JSON quando è opportuno utilizzarli?
- 18. Asincrono/attendi deadlock durante il download delle immagini
- 19. Aggiornamento automatico lento della pagina Angular2 nello sviluppo locale - Windows
- 20. Quando utilizzare PNG o JPG nello sviluppo di iPhone?
- 21. Cosa O/S preferisci per lo sviluppo web e perché?
- 22. Trigonometria e sviluppo del gioco
- 23. Cosa succede realmente quando si utilizza async/attendi all'interno di una istruzione LINQ?
- 24. sviluppo wordpress su linux e distribuzione su server windows
- 25. Che cosa è e = e | =
- 26. A cosa servono le bandiere di protezione "appop" e "sviluppo"?
- 27. Qual è la differenza tra gnustl e stlport nello sviluppo di Android ndk?
- 28. Test automatizzati nello sviluppo Android
- 29. Perché XSD.EXE crea due file .XSD e come utilizzarli?
- 30. Qual è la migliore pratica quando si tratta di variabili Info.plist nello sviluppo di iOS?
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
@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
@phoog - I thread di spawning non sono la stessa cosa che rimanere sul thread corretto. –