这次要分享的是c#任务任务的几个列子,感觉最实用的是封装的分页任务执行方法,这个方法步奏也是目前在我工作中执行多任务常用的,不知道各位也有这用的情况,那么开始吧。
1。顺序任务执行
上面的代码中也备注了一些文字说明,其中有关键词语及意思如下:
.Task.Factory。StartNew:创建一个任务实例,创建后自动开启,无需在调用开始;
.ContinueWith:看单词的意思就明的了,是继续的意思,在这里的效果也是等待上一个任务执行完毕了在继续执行本次任务,这里方法里面每个任务是一层一层传递的
效果图:
这里有个地方注意,睡眠这是了5 s但是这里使用秒表统计出来只有4999 ms,这个地方存在差异性,本章不解释,有兴趣朋友可以分享下或研究下。
,
2。并行任务效果
关键词语及意思如下:
.Func<对象,int>这个是c#新增的特性,这个和行动最大的区别就是函数有返回值,其他的和行动相同任意长度参数个数和类型
.Task。WaitAll这个方法有几个重载,这里用的是一个超时时间的方法,设置时间后在规定的时间就不继续等待任务【】了,如果任务【】在超时时间范围内就执行完了,那么直接通过,不用再等待超时时间
效果:
这里依然有统计时间查问题,忽略
,
3。分页任务执行方法
测试代码:
这里使用的是分页的原理,把参数集合分发到创建的任务中,使用任务【】来处理这些数据,这里和第二个例子有点相识就多了分页写法而已,最后统计执行成功的条数,以此来返回给调用者,方便记录日志,此方法目前是我经常使用的,不知道是否还有更好的,各位多多分享,谢谢。
效果图: