Threads avec parametres en .net 1.x et .net 2.0

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 411 fois - Téléchargée 36 fois

Contenu du snippet

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());
	}
}

A voir également

Ajouter un commentaire

Commentaires

winny68
Messages postés
99
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
14 février 2011
1
Salut mec,

j'te met 10/10 car ça fonctionne tip top.

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.