Comment puis-je attendre qu'une méthode finisse d'utiliser C#?Attendre la fin de la méthode
Répondre
Sauf si vous utilisez plusieurs threads, l'exécution ne continuera pas dans le appelant le code jusqu'à ce que la méthode soit terminée quand même.
Si vous êtes en utilisant plusieurs threads, cela dépend vraiment de la façon dont vous lancez la tâche. Par exemple, vous pouvez utiliser l'exécution de délégué asynchrone (foo.BeginInvoke(...)
) ou la bibliothèque parallèle de tâches ou simplement créer un nouveau thread. Chaque approche a sa propre manière d'attendre jusqu'à ce que la tâche/le thread soit terminé. S'il vous plaît nous donner plus d'informations et nous pouvons vous aider plus, mais les options peuvent inclure:
- Appel
EndInvoke
sur le délégué, en passant dans leIAsyncResult
retourné parBeginInvoke
- Appel
Task.Wait
(éventuellement avec un délai d'attente) - appel
Thread.Join
(éventuellement avec un délai d'attente)
+1 pour une réponse sensée, Jon Skeet ne débite pas de merde. – mdm
+1 Bien sûr .. @mdm c'est pourquoi nous avons [Jon Skeet] (http://blog.stackoverflow.com/2008/11/stack-overflow-is-you) ici –
+1 pour fournir réellement des options dans le cas de code multithread. –
- Appelez la méthode.
- Attendez que cela se termine.
Remarque: Fonctionne uniquement pour bloquer les appels.
Grand algorithme .../moi applaudit PS: vous avez oublié '3. PROFIT !!! ' – zerkms
Je suppose que vous demandez comment attendre un code d'exécuter sur un autre Thr ead dans votre fil principal. À cette fin, la méthode Thread.Join() fera ce que vous voulez.
(Un tutoriel sur la façon de bien faire Multithreading.)
Je sais que vous avez posté ce mois-ci, mais ce lien vers le tutoriel vient de sauver ma vie. Je ne peux pas vous remercier assez pour partager ce lien. – JClaspill
@JClaspill Je suis heureux que cela vous a aidé :) –
- 1. Comment attendre la fin d'une méthode asynchrone?
- 2. Attendre la fin de l'animation
- 3. Attendre la fin du webrequest
- 4. Attendre la fin de l'exécution du code
- 5. silverlight. Attendre la fin async méthode dans la méthode de synchronisation
- 6. attendre jusqu'à la fin UITableView reloadData
- 7. comment attendre la fin de l'événement
- 8. Android Espresso: Attendre la fin de l'activité
- 9. Processus Storec asynchrone sans attendre la fin
- 10. La servlet doit attendre la fin de la tâche
- 11. Windows: attendre la fin du processus
- 12. Comment attendre la fin d'une animation UITableView?
- 13. comment attendre la fin de la redirection de page
- 14. Attendre la fin de l'ajax avant le retour de la méthode
- 15. Attendre la fin de la méthode de classe dans ActionScript 3
- 16. Comment attendre la fin de la commande système
- 17. Attendre la fin de la requête avant d'exécuter tableview init
- 18. IE9 javascript: attendre la fin de la sélection
- 19. attendre la méthode dans la tâche
- 20. Comment attendre d'exécuter la méthode dans Android
- 21. Attendre la fin de sous-processus avec plusieurs travaux parallèles
- 22. Attendre sur la dernière ligne de méthode
- 23. Comment utiliser correctement la méthode WaitForSingleObject pour attendre la fin d'un programme externe?
- 24. Comment puis-je attendre la fin d'un clip audio java?
- 25. Attendre la fin de l'animation avant de continuer dans jQuery
- 26. Comment attendre la fin du programme de désinstallation?
- 27. comment attendre la fin de l'exécution d'une fonction
- 28. attendre la fin d'un autre emploi avant de commencer un
- 29. Comment attendre la fin d'une fonction jQuery avant de poursuivre?
- 30. Attendre la fin d'une tâche dans une autre vue
Pouvez-vous expliquer un peu mieux ce que vous essayez d'atteindre s'il vous plaît? – FarligOpptreden
Si votre application n'est pas multi-thread et que la méthode que vous avez appelée n'est pas asynchrone, votre prochain morceau de code sera appelé après le retour de la méthode. Nous avons besoin de plus d'informations pour travailler ici, utilisez-vous des threads ou des méthodes 'Begin ..()'? – Kevin
Doit-on supposer que vous parlez d'un appel de méthode asynchrone? –