快好知 kuaihz订阅观点

 

用Action委托实现多线程调用

之前讲过Action委托的用法,今天我们聊一聊Action委托的另一个用处:如何用Action委托实现多线程调用。 用Action委托调用线程是一种特别简单的方式,你不需要了解像Thread、ThreadStart...类,只需要一句话就可以实现多线程调用。下面我们开始。

创建控制台应用程序,引用命名空间System.Thread。   如下图:

在Program类中,定义两个方法,这就是后面多线程需要调用的两个方法。第一个方法每隔1秒输出一行加号,第二个方法每隔0.5秒输出一行减号。如下图:

下面在Main函数中定义Action委托,调用两个方法。我们先用单线程的方式调用,如下图,先输出10行加号,再输出10行减号:

输出结果跟预期的一样。

下面使用多线程的方式调用。多线程是用Action委托提供的BeginInvoke方法,该方法有两个参数,第一个参数为回调函数,第二个参数为Object类。我们先忽略这两个参数,传Null值。 如下图修改代码:

再运行程序,输入结果如下图: 加号和减号交叉输出,说明两个方法是多线程调用的。

按照惯例,总结一下:

1.调用Action的BeginInvoke方法,可以多线程调用该方法。

2.不需要精确控制的线程,可以用BeginInvoke的方式启动。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:线程  线程词条  调用  调用词条  委托  委托词条  实现  实现词条  Action  Action词条  
综合

 图形化编程娱乐于教,Kitten...

图形化编程娱乐于教,Kittenblock实例,时间段内,角色滑行到指定位置跟很多学生聊过,很多学生不是不努力,只是找不到感觉。有一点不可否认,同样在一个教室上...(展开)

综合

 51单片机软件设计(指令解析)

 标号——可以是以英文字母开头的字母,数字或某些特殊符号的序列。助记符——用来表达指令的操作功能。目的操作数——指令最终作用的对象。源操作数——参与指...(展开)