¡No solo espera ThreadStart
métodos vacíos, sino que también espera que no acepten ningún argumento! Puede envolverlo en un lambda, un delegado anónimo o una función estática con nombre.
Esta es una manera de hacerlo:
string res = null;
Thread newThread = new Thread(() => {res = sayHello("world!");});
newThread.Start();
newThread.Join(1000);
Console.Writeline(res);
Aquí es otra sintaxis:
Thread newThread = new Thread(delegate() {sayHello("world!");});
newThread.Start();
La tercera sintaxis (con una función llamada) es el más aburrido:
// Define a "wrapper" function
static void WrapSayHello() {
sayHello("world!);
}
// Call it from some other place
Thread newThread = new Thread(WrapSayHello);
newThread.Start();
Ha sido útil para mí. Gracias. –
No pude obtener el valor de retorno. ¿Cómo puede usar el valor de retorno? –
[ParameterizedThreadStart Delegate] (http://msdn.microsoft.com/en-us/library/system.threading.parameterizedthreadstart.aspx) –