您的位置:首页 > 编程语言 > C#

C# 多线程编程,传参,接受返回值

2015-06-09 11:56 274 查看
今天将多线程的知识有回顾了下,总结了几点:

新建一个线程(无参数,无返回值)

Thread th = new Thread(new ThreadStart(PrintName));

public void PrintName() // 函数

{

//函数体

}

这里一定注意ThreadStart中的函数是没有返回值和参数的

那么有参数时,就该如下:

Thread th = new Thread(new ParameterizedThreadStart(PrintName));

th.start("参数");

public void PrintName(object arg) // 函数

{

//函数体 比如

Console.wrintline("{0}",arg.toString());

}

如果遇到又需要返回值,又需要参数的时候,就可以考虑用异步:

但是需要先申明个委托

public delegate string MethodCaller(string name);//定义个代理

MethodCaller mc = new MethodCaller(GetName);

string name = "my name";//输入参数

IAsyncResult result = mc.BeginInvoke(name,null, null);

string myname = mc.EndInvoke(result);//用于接收返回值

public string GetName(string name) // 函数

{

return name;

}

这里注意了,通过这种方式生成新线程是运行在后台的(background),优先级为normal
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: