- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.2.6 定时执行某些任务 1.System.Timers.Timer类 System.Timers.Timer类可与可视化设计器一同使用,该类可以引发事件,但它默认是在线程池线程中引发事件,而不是在当前线程中引发事件。 System.Timers.Timer类的常用属性和方法如下: AutoReset属性:获取或设置一个布尔型的值,该值为true表示每次间隔结束时都引发一次Elapsed事件,false表示仅在首次间隔结束时引发一次该事件。 Interval属性:获取或设置两次Elapsed事件的间隔时间(以毫秒为单位)。该值必须大于零并小于或等于Int32.MaxValue。默认值为100毫秒。 Start方法:启动定时器。 Stop方法:停止计时器。 5.2.6 定时执行某些任务 2.System.Windows.Threading.DispatcherTimer类 在客户端WPF应用程序中,对于需要与用户界面交互的任务,最简单的方式是使用System.Windows.Threading命名空间下的DispatcherTimer类来实现,这种定时器也是用时间模型来实现的,但它是在与当前线程关联的线程中定时执行任务,因此利用这种定时器可以直接获取或修改界面控件的属性。 另外,该对象的定时效果没有System.Timers.Timer的定时精确,所以最好不要将其用于针对服务器的定时操作。 5.2.6 定时执行某些任务 3.System.Threading.Timer类 System.Threading.Timer类也是在线程池中定时执行任务,它与其他两种计时器的区别是该类不使用事件模型,而是直接通过调用TimerCallback类型的委托来实现。 该类的构造函数语法为 public Timer( TimerCallback callback, //一个TimerCallback类型的委托,表示要执行的方法 Object state, //一个包含回调方法要使用的信息的对象,可以为null TimeSpan dueTime, //首次调用回调方法之前延迟的时间量 TimeSpan period //每次调用回调方法的时间间隔。-1表示禁用定期终止 ) 利用该构造函数创建对象后,首次到达dueTime延时时间时会自动调用一次callback委托,以后每隔period时间间隔,都会自动调用一次callback委托。 5.2.6 定时执行某些任务 4.用法示例 第5章习题和上机练习 本章习题 : 1 、2 、3 、4、5、6 本章上机练习:无。 工业和信息化部“十二五”规划教材普通高等学校“十二五”规划教材《C#网络应用编程》第3版第5章异步编程 * Ch5 异步编程 5.1 并行和异步编程预备知识 5.2 异步编程基本技术 5.1 并行和异步编程预备知识 5.1.1 任务(Task类、TaskTResult类) 5.1.2 Lambda表达式 5.1.3 Action和Func委托 5.1.4 元组(Tuple类) * 5.1.1 任务(Task类、TaskTResult类) 1.Task类 2.TaskTResult类 3.Task.Delay方法 Delay(Int32) //延时指定的毫秒数 Delay(TimeSpan) //延时指定的时间(年、月、日、时、分、秒、毫秒等) Delay(Int32, CancellationToken) //延时指定的毫秒数后取消任务操作 Delay(TimeSpan, CancellationToken) //延时指定的时间后取消任务操作 5.1.2 Lambda表达式 1.基本用法定义 (输入参数列表)={表达式或语句块} x = x * x (x, y) = x == y (int x, string s) = s.Length x () = SomeMethod() 5.1.2 Lambda表达式 2.在LINQ to Objects中使用Lambda表达式Microsoft.NET框架 Listint numberList = new Listint { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var q1 = numberList.Where(i = i 4); Listint numberList = new Listint { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var q2 = from i in numberList where i 4 select i; 5.1.2
文档评论(0)