将方法作为参数,传递到线程中
来源:互联网 发布:优秀的淘宝客服 编辑:程序博客网 时间:2024/05/17 07:12
打开线程传递参数是每个初学者都会碰到的问题,尤其传递一个方法进去比较复杂。.Net不支持指针,所以传递参数需要靠委托来实现。
1,首先定义一个委托和类,其中DoSomeThing是线程要执行的方法:
/// <summary>
/// 定义委托
/// </summary>
delegate void DelegateThreadFunction ();
/// <summary>
/// 线程类
/// </summary>
class DelegateThread
{
//委托对象
private DelegateThreadFunction threadFunction;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="threadFunction"></param>
public DelegateThread(DelegateThreadFunction threadFunction)
{
this.threadFunction = threadFunction;
}
/// <summary>
/// 执行线程函数
/// </summary>
public void DoSomeThing()
{
if (threadFunction != null )
{
threadFunction();
}
}
}
2,定义要传入的方法,方法要和委托一致:
static void dosomething()
{
}
3,执行线程:
DelegateThread delegateThread = new DelegateThread(dosomething);
Thread th = new Thread( new ThreadStart (delegateThread.DoSomeThing));
th.Start();
转自:http://www.5x5f.com:8086/MyGroup/Discussion/Detail?GroupId=10002&DiscussionId=10471
- 将方法作为参数,传递到线程中
- 在java中,如何将方法作为参数传递
- 将方法作为参数传递(Javascript/Ruby)
- 将对象作为参数传递
- 将vector作为参数传递
- 匿名方法---将代码块作为参数传递给委托
- C语言中如何将数组作为函数参数传递
- C语言中如何将二维数组作为参数传递
- matlab 中字符串作为函数参数传递的方法总结
- C#中怎么将XML作为参数post到接口
- C# Winform将控件作为参数传递
- go语言将函数作为参数传递
- 将数组作为参数进行传递
- JS 将函数作为参数传递调用
- 将函数名(地址)作为参数传递
- c++ 将lambda表达式作为参数传递
- lua 将函数作为参数传递
- 线程中传递参数
- oracle Net Manager 服务命名无法配置(无法新建、添加服务名)
- 郗晓勇:如何减小与“大牛”的差距
- VS2008+Qt4: uic, moc使用小记&两类Link错误的解决方案
- object和type有什么区别?他们之间的关系是什么?
- Qtopia运行在OpenWRT上的相关说明
- 将方法作为参数,传递到线程中
- js调用本地QQ的方法
- php 数据库备份、还原
- perlre
- Linux下将Nutch1.3导入eclipse
- 控制两个CListView同步滚动
- alchemy中定义多个方法
- TTF字体基本知识及其在QT中的应用
- ASP.NET中httpmodules与httphandlers全解析