2011-05-19 18 views
11

¿Alguien puede aclarar por qué usamos ThreadStart?¿Por qué usar ThreadStart?

new Thread (new ThreadStart (Update)).Start(); -Versus- 
new Thread (Update).Start(); // Seems more straightforward 

private void Update() { } 
+2

Su problema es con los delegados en general, sin enhebrar. – leppie

+1

Probablemente solo porque la versión corta no era posible en versiones anteriores de C#. – CodesInChaos

Respuesta

9

Puede alguien aclarar por qué usamos ThreadStart?

No es necesario. Si lo hace, solo usted puede decir por qué ...

Desde C# 2, los grupos de métodos (es decir, referencias a un método a través de su nombre) son implícitamente convertibles a delegados con la misma firma. Como el constructor Thread toma un ThreadStart, puede pasarle un grupo de métodos con la misma firma que ThreadStart.

7

No tiene que usarlo en su ejemplo.
ThreadStart es un objeto que tiene una función que se puede utilizar para iniciar un hilo.

Lo usaría, por ejemplo, si tiene una lista de funciones que desea iniciar, colóquelas en una lista y repáselas.