Per creare un Thread in C# solitamente si usa scrivere un metodo con all’interno il codice che il Thread deve eseguire, per poi creare il Thread settandogli come delegate il metodo appena creato:

public void FaiQualcosaDiUtile()
{
	for (int i = 0; i < 100; i++)
	{
		// faccio qualcosa...
		Thread.Sleep(500);
	}
}

static void Main()
{
	// qui creo il thread passandogli il delegate del metodo creato pocanzi
	Thread t = new Thread(FaiQualcosaDiUtile);
	t.Name = "Thread di prova";
	t.Start();
}

dual core

Per creare i Thread, il C# dà l’opportunità di utilizzare i metodi anonimi. Per utilizzarli, basta scrivere il codice da eseguire nel Thread all’interno del codice della creazione dell’oggetto Thread, offrendo quindi la possibilità di non scrivere il metodo:

static void Main()
{
	// stavolta creo il thread utilizzando il metodo anonimo dichiarato subito dopo
	Thread t = new Thread(delegate()
	{
		for (int i = 0; i < 100; i++)
		{
			// faccio qualcosa...
			Thread.Sleep(500);
		}
	});
	t.Name = "Thread di prova";
	t.Start();
}

Questa volta abbiamo utilizzato un metodo anonimo, evitando di dichiarare quindi un nuovo metodo per il Thread.
Personalmente penso che utilizzare i metodi anonimi non sia una buona pratica di programmazione:
Separare il codice da eseguire nel Thread dal resto del codice contribuisce alla chiarezza e alla riusabilità del codice, ma nei casi in cui bisogna creare Thread con pochissime righe di codice, i metodi anonimi possono essere un rilassante aiuto! :)


Se sei interessato a questo post, potresti anche provare a leggere:

    No related posts