Suite à une question sur le forum, voici un petit exemple de comment lancer des threads avec des parametres
Source / Exemple :
using System;
using System.Threading;
// En .Net 1.x
namespace Threads
{
public class MonThread
{
int i = 0;
public MonThread(int i)
{
this.i = i;
}
public void ThreadFonction()
{
for(; i<=30; i++)
{
Console.WriteLine(i.ToString());
Thread.Sleep(300);
}
}
}
public class Exemple
{
public static void Main()
{
MonThread mt1 = new MonThread(5);
Thread t1 = new Thread(new ThreadStart(mt1.ThreadFonction));
t1.Start();
MonThread mt2 = new MonThread(10);
Thread t2 = new Thread(new ThreadStart(mt2.ThreadFonction));
t2.Start();
}
}
}
// En .Net 2
// Il suffit d'utiliser ParameterizedThreadStart
using System;
using System.Threading;
public class Exemple
{
public static void Main()
{
Exemple e = new Exemple();
}
private Thread t;
public Exemple()
{
t = new Thread(new ParameterizedThreadStart(IncrementToTen));
t.Start(1);// Le parametre est passé dans la méthode Start()
}
public void IncrementToTen(object temp)
{
int i = (int)temp;
while(i < 10) i++;
Console.WriteLine(i.ToString());
}
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.