Méthode synchrone et asynchrone Appel:
et Choisissez Invoke()
BeginInvoke()
La clé d'une programmation efficace est de comprendre la différence subtile entre des méthodes similaires.
Invoke()
BeginInvoke()
et
Invoke()
La méthode est conçue pour effectuer la méthode sur le même thread que l'appelant pour effectuer des opérations simultanément. Cela signifie que les threads d'appel seront attendus avant la fin de la méthode d'approbation. BeginInvoke()
au contraire, fonctionnement asynchrone. Il est appelé sur un thread séparé (généralement un fil dans le pool de threads). Il convient de noter que renvoie un objet
Invoke()
et BeginInvoke()
BeginInvoke()
IAsyncResult
et : Invoke()
BeginInvoke()
: Méthode d'exécution synchrone et attendez qu'elle se termine. Cette méthode est applicable lorsque les résultats doivent être exécutés et récupérés immédiatement.
Delegate.Invoke()
Delegate.BeginInvoke()
: Méthode d'exécution asynchrone, permettant aux threads d'appel de continuer à exécuter sans attendre d'être terminé. Cette méthode est très favorable lorsque le PDG exécute la tâche pendant longtemps et ne veut pas bloquer l'appelant.
Delegate.Invoke()
et
Delegate.BeginInvoke()
: La méthode est exécutée sur le thread GUI, mais il n'attend pas qu'il se termine. Ceci est très utile pour mettre à jour l'interface utilisateur sans affecter l'exécution de la partie d'appel. Control.Invoke()
Control.BeginInvoke()
Control.Invoke()
Créez un objet de thread séparé et appelez-le dessus, ce qui équivaut à utiliser
Control.BeginInvoke()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!