2008-11-06 17 views

Respuesta

14

ThreadStart y ParameterizedThreadStart son tipos de delegados, que se define como esto:

public delegate void ThreadStart() 
public delegate void ParameterizedThreadStart(object state) 

ambos se utilizan para especificar la acción que va a tomar un nuevo hilo. Clearly ParamaterizedThreadStart toma un parámetro, mientras que ThreadStart no :) Esto solía ser una forma muy práctica de asignar a un nuevo hilo una tarea con un dato específico; ahora solo uso funciones anónimas que actúan como cierres.

La clase Thread representa el hilo de la ejecución en sí: crea uno (con uno de los delegados anteriores), inícielo y luego déjelo funcionar.

Ver mi article on parameterized threading para más detalles - aunque desde aquí parece estar abajo en este momento :(

+0

Re "solía ser" - ParameterizedThreadStart se introdujo en .NET 2.0, junto con los métodos anónimos en C# 2.0 - así que no creo (para C# al menos) que alguna vez haya habido un momento en el que ParameterizedThreadStart fuera más útil. Me gusta comprobar el tipo, así que siempre uso ThreadStart con una captura. –

+0

Podría decirse que esto fue más útil para VB (¿Estoy en lo cierto al pensar que VB no tenía/no tiene métodos anónimos? Mi conocimiento de VB es ... deficiente.) –

+0

Esa es mi referencia de HILO para los hilos. Gracias por tomarse el tiempo de escribir eso y muy contento de conocerte. – Gishu