ImageVerifierCode 换一换
格式:DOC , 页数:3 ,大小:79KB ,
资源ID:933871      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-933871.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(黑马程序员多线程原来是这么简单.DOC)为本站会员(天***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

黑马程序员多线程原来是这么简单.DOC

1、黑马程序员多线程原来是这么简单作者: william_feng (1 篇文章) 日期: 十二月 16, 2011 在 11:59 上午一直以来对于多线程有种恐惧恐惧感,不理解它到底是什么回事,感觉挺抽象的,自从听了传智播客的邹老师对于多线程的讲解,我可以很自信地说我多线程方面入门了,特别是邹老师对于多线程有一套独有的方法,那就是画图,通过画图可以很直观地告诉你多线程是什么回事,比如 UI 线程和主线程,前台线程和后台线程,通过案例的讲解让你发现多线程的美妙。以下简单从如何创建多线程开始。首先来看用单线程的缺点:通过对比单线程和多线程,创建了一个 winform 小程序来对比,界面如下:进入代码

2、区:首先建立一个循环 999999999 次的方法:view plaincopy to clipboardprint?01./02./ 循环计数的方法03./04.void CountTime()05.06. DateTime beginTime = DateTime.Now;07. for (int i = 0; i = 999999999; i+)08. 09.10. 11. TimeSpan ts = DateTime.Now.Subtract(beginTime);12. MessageBox.Show(“执行完毕!“+ts.TotalMilliseconds);13./ 循环计数的方

3、法/void CountTime()DateTime beginTime = DateTime.Now;for (int i = 0; i = 999999999; i+)TimeSpan ts = DateTime.Now.Subtract(beginTime);MessageBox.Show(“执行完毕! “+ts.TotalMilliseconds);回到界面单击“单线程的缺点”这个按钮,编写事件代码如下:view plaincopy to clipboardprint?01./单线程的缺点02.private void btnSingleThread_Click(object send

4、er, EventArgs e)03.04. CountTime();05./单线程的缺点private void btnSingleThread_Click(object sender, EventArgs e)CountTime();点击运行,由于不能演示看,你会看到你无法拖动这个窗口移动摇晃,好像界面卡死了一样,过了一会儿,因为循环计数结束,弹出如下窗口:2)那么如何解决这种 UI 卡死的问题呢,因为之前单单用到单线程的而出现卡死的问题是因为界面运行的时候,其实主线程只能去处理计数,而根本没有时间去处理你偶外的“拖动摇晃” 这个事件,之道计数这个事情做完之后才会过来做“拖动摇晃”的这个事

5、件,为了解决这个“假死” 的事情,就要用到多线程技术,点击界面的“多线程”按钮,如下代码:view plaincopy to clipboardprint?01. /使用多线程来解决 UI 卡死问题02. private void btnMulTread_Click(object sender, EventArgs e)03. 04. /ThreadStart ts = new ThreadStart(CountTime);05. /Thread th = new Thread(ts);06. /创建线程对象 传入要线程执行的方法07. Thread th = new Thread(Count

6、Time);08. /将线程设置为后台线程(当所有的前台线程结束后,后台线程会自动退出)09. th.IsBackground = true;10. /启动线程执行方法11. th.Start();12.13.14. /使用多线程来解决 UI 卡死问题private void btnMulTread_Click(object sender, EventArgs e)/ThreadStart ts = new ThreadStart(CountTime);/Thread th = new Thread(ts);/创建线程对象 传入要线程执行的方法Thread th = new Thread(Co

7、untTime);/将线程设置为后台线程(当所有的前台线程结束后,后台线程会自动退出)th.IsBackground = true;/启动线程执行方法th.Start();这样点击运行并点击“多线程”按钮来执行的话,你会发现运行过程中你可以拖动窗口,非常流畅地拖动着走,直到运行结束弹出如下消息窗口:细心的你可能会发现上面两个执行时间不一样,单线程用的时间比多线程用的少那么一点点,原因是因为 CPU 要来回转过去执行 UI 线程和计数线程,其实多线程的实际上不是同时执行,只是因为 CPU 处理速度太快了,可以非常快速地来回在各个线程之间切换执行,就好像我们先烧开水,然后不用去等开水开了就可以去洗衣服一样,因为 CPU 处理的速度太快了,我们人裸眼根本察觉不到它在各个线程之间不停地切换,感觉好像是同时运行一样。自从终于可以对多线程有一个入门的认识了。分类: 博客征文专栏, 并行计算, 移动技术

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。