多线程(二).ppt

多线程(二).ppt

ID:48059827

大小:949.50 KB

页数:12页

时间:2020-01-13

多线程(二).ppt_第1页
多线程(二).ppt_第2页
多线程(二).ppt_第3页
多线程(二).ppt_第4页
多线程(二).ppt_第5页
资源描述:

《多线程(二).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第14章多线程(二)教师:办公室:EMAIL:上次回顾多线程概述Thread类(重点)线程池2本讲目标Timer类(重点)线程访问控件线程同步3Timer类线程时钟Timer类将需要调用的方法加入队列等待被周期性执行Timer类包含在System.Threading命名空间Timer类通过系统提供的线程池线程,在每次计时器期满时运行计时器委托在退出应用程序之前需要终止计时器4时钟控件和线程时钟的区别名称空间不同时钟控件在System.Windows.Forms命名空间线程时钟在System.Threading命名空间线程执行不同时钟控件不能在单独的线程上执行,而线程时钟可以精度不同时钟控件

2、简单,适合用于周期性的更新用户界面高精度的计时器,则应该使用线程时钟5System.Threading.Timer的用法//创建时钟,每100毫秒执行一次FuncSystem.Threading.TimerthreadingTimer=newSystem.Threading.Timer(newTimerCallback(Func),null,0,100);//停止时钟,释放资源threadingTimer.Dispose();threadingTimer=null;6System.Windows.Forms.Timer类的使用//时钟控件100毫秒执行周期timer1.Interval=1

3、00;//启动时钟控件timer1.Enabled=true;演示示例:如何使用时钟控件7线程访问界面控件记住:不要直接从工作线程内部访问或更新控件如果需要在工作线程内部更新控件,应该使用Control.Invoke方法,用委托来执行控件在.NETCompactFramework中,Control.Invoke只支持EventHandler委托ThreadPool.QueueUserWorkItem的WaitCallback委托也可以执行控件8线程同步在多线程访问共享数据的情况下,必须同步对数据的访问思考:一个线程简单地递增变量,另一个线程简单地递减变量。每个线程内部循环1000~1000

4、000次,当两个工作线程执行完成时,变量的值应该始终等于09Monitor类objectfunction1Protector=newobject();voidFunction1(){Monitor.Enter(function1Protector);//...执行循环操作Monitor.Enter(function1Protector);}包含共享数据,可以使用Monitor和Mutex类。Monitor和Mutex都会确保临界区每次只能由一个线程执行10总结各种Timer类作用类似,细节上有区别工作线程不要直接访问控件,应该用委托访问多个线程同时访问的资源,应该及时的保护起来11课后任务

5、完成学习手册上的详细上机试验完成老师布置的课后习题12

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。