1.耗时的操作使用线程,提高应用程序响应 2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。 3.多CPU系统中,使用线程提高CPU利用率 4.改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。 |
老赵在其文章正确使用异步操作中总结了下面几类操作使用多线程,可以提高性能,如文件操作,网络通讯,Web请求调用等:
CSDN愚翁专栏博客文章第一期总结之三:Thread的问题总结了下面一些问题,感觉自己在开发中都有遇到,挺不错的一篇文章
那么线程相关的问题大致有如下四类(这篇文章只讨论单线程、单线程与UI线程这两方面的问题)。
问题一,线程的基本操作,例如:暂停、继续、停止等;
问题二,如何向线程传递参数或者从中得到其返回值;
问题三,如何使线程所占用的CPU不要老是百分之百;
最后一个,也是问题最多的,就是如何在子线程来控制UI中的控件,换句话说,就是在线程中控制窗体某些控件的显示。
还有CSDN论坛帖子[★]WinForm中,主线程如何优雅的控制子线程?
2. 园友们也有不少关于多线程的文章,收藏一下(不断更新, 慢慢补充)
朱燚 .Net多线程总结(一) .Net多线程总结(二)-BackgroundWorker
目录
- 我的多线程WinForm程序老是抛出InvalidOperationException ,怎么解决?
- Invoke,BeginInvoke干什么用的,内部是怎么实现的
- 每个线程都有消息队列吗?
- 为什么Winform不允许跨线程修改UI线程控件的值
- 有没有什么办法可以简化WinForm多线程的开发
没有昵称 在.Net中使用异步(一) 在.Net中使用异步(二)
idior Delegate比较全面的例子(原创) 异步Socket HashTable的线程安全性
.Net2.0 的新线程 ParameterizedThreadStart &BackgroundWorker
wuhang 转载来的,线程的基础 转载来的WinForm多线程编程篇 依旧是转载来的Thread and Sync In C# (C#中的线程与同步)
Net66 通过多线程为基于 .NET 的应用程序实现响应迅速的用户 衔接UI线程和管理后台工作线程的类(多线程、异步调用)
hertcloud的专栏 C# 一个多线程操作控件的例子
飛雪飄寒 委托与事件——系列文章收藏 (很全面, 推荐)
3. 其它网络资源
C#中的多线程 在.NET客户端程序中使用多线程(一) 在C#中编写多线程应用程序
C# 如何:对Windows 窗体控件进行线程安全调用
如果你不想在网上一一浏览相关博客文章, 我手头整理了一份电子版(PDF), 可供大家学习参考, 好像有点大, 宿舍网速不行, 大家直接留言向我索取吧发邮箱.
相关文章代码版权属于原作者, 仅供学习参考.总算上传上来了, 下载编程资料 - 多线程篇.pdf.
作者:peterzb(个人开发历程知识库 -
博客园)
出处:http://peterzb.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。