Comment exécuter la méthode dans un thread séparé
j'ai trouvé un très bon morceau de code qui fonctionnent tous de la méthode dans le thread séparé.
le code comme suit
private static void Method1()
{
//Method1 implementation
}
private static void Method2()
{
//Method2 implementation
}
private static void RunMethodInSeparateThread(Action action)
{
var thread = new Thread(new ThreadStart(action));
thread.Start();
}
static void Main(string[] args)
{
RunMethodInSeparateThread(Method1);
RunMethodInSeparateThread(Method2);
}
dans ce cas, comment pourrais-je passer le paramètre à la méthode et aussi il pourrait y avoir une situation où Method1 pourraient avoir besoin de 2 paramètre et où Method2 peuvent avoir besoin de 3 paramètre. dans cette situation, comment construire RunMethodInSeparateThread de façon générique qui acceptera de nombreux param et de passer à la méthode. merci de m'aider avec le code. grâce
source d'informationauteur Thomas
Vous devez vous connecter pour publier un commentaire.
D'exécuter du code dans un autre thread que vous pouvez faire:
Vous pouvez accepter une collection de paramètres ou d'un dictionnaire pour vos méthodes qui doivent accepter un nombre variable de paramètres. Ou vous pouvez créer des méthodes qui permettent à un nombre différent de paramètres. Par exemple:
Avec .NET 4, votre
RunMethodInSeparateThread
méthode semble un peu redondant à mon avis. Je viens de le faire:Si Method1 et Method2 sont assez courtes-l'exécution de la meilleure façon de le faire est de ne pas créer un nouveau fil de discussion. Vous pouvez utiliser le .NET pool de threads au lieu de cela, comme ceci:
Est un "Data Fente" est utile? Voir "Stockage Local de la Thread: Thread-par rapport à des Champs Statiques et les Données places" à http://msdn.microsoft.com/en-us/library/6sby1byh.aspx