méthode de filetage c #
Si j'ai un
public void Method(int m)
{
...
}
comment puis-je créer un thread pour cette méthode?
Thread t = new Thread((Méthode));
t.Start(m);
ne fonctionne pas.
source d'informationauteur elisa
Vous devez vous connecter pour publier un commentaire.
La méthode que vous appelez nécessite un paramètre. Parce qu'il a un paramètre et un type de retour void vous pouvez utiliser les éléments suivants
Vous n'avez pas besoin de changer l'int d'un objet dans la signature de la méthode à l'aide de cette méthode.
Il y a des avantages à utiliser le pool de threads de plus à partir de votre propre Fil manuellement.
Fil vs ThreadPool
Vous pouvez le faire à l'aide d'une expression lambda. Le compilateur C# crée automatiquement le
ThreadStart
délégué derrière les coulisses.Notez que si vous modifiez
m
plus loin dans votre code, les modifications se propagent dans le thread si elle n'a pas pénétré dansMethod
encore. Si c'est un problème, vous devez faire une copie dem
.Thread méthodes doit être une méthode avec le type de retour void et acceptant pas d'argument.
Il y a une autre variante, qui est ParameterizedThreadStart
ThreadParamMethod est une méthode dont le type de retour est void et accepter un argument de type object. Cependant, vous pouvez passer juste au sujet de toute chose en tant qu'objet.
Méthode doit prendre un objet, pas un int pour être en mesure d'utiliser le ParameterizedThreadStart délégué.
Alors changer de m à un objet et de le convertir en une int tout d'abord.
s'il vous plaît essayer: