多线程执行有返回值有参数的方法
1、创建一个多线程执行方法有相同类型返回值和相同类型参数的委托(创建在类外)
public delegate string FunctionDelegate(string str);
多线程执行的方法如下:
public string GetName(string name) // 函数
{
return name;
}
2、代码
//将方法赋给委托
FunctionDelegate mc = new FunctionDelegate(GetName);
string name = "my name1";//输入参数
//执行多线程
IAsyncResult result = mc.BeginInvoke(name, null, null);
//获取多线程的返回值
string myname = mc.EndInvoke(result);//用于接收返回值
MessageBox.Show(myname);
代码截图和执行的效果如下: