工控上位机C#中的进程、线程与多线程( 二 )
一个C#程序称为多线程的可以通过2种方式:明确地创建和运行多线程 , 或者使用.NET framework的暗中使用了多线程的特性——比如BackgroundWorker类, 线程池 , threading timer , 远程服务器 , 或Web Services或ASP.NET程序 。 在后面的情况 , 人们别无选择 , 必须使用多线程;一个单线程的ASP.NET web server不是太酷 , 即使有这样的事情;幸运的是 , 应用服务器中多线程是相当普遍的;唯一值得关心的是提供适当锁机制的静态变量问题 。
(十一)、何时不要使用多线程
多线程也同样会带来缺点 , 最大的问题是它使程序变得过于复杂 , 拥有多线程本身并不复杂 , 复杂是的线程的交互作用 , 这带来了无论是否交互是否是有意的 , 都会带来较长的开发周期 , 以及带来间歇性和非重复性的bugs 。 因此 , 要么多线程的交互设计简单一些 , 要么就根本不使用多线程 。 除非你有强烈的重写和调试欲望 。 当用户频繁地分配和切换线程时 , 多线程会带来增加资源和CPU的开销 。 在某些情况下 , 太多的I/O操作是非常棘手的 , 当只有一个或两个工作线程要比有众多的线程在相同时间执行任务快的多 。
本文插图
推荐阅读
- 「iphone11」苹果手机中的销量冠军,打败小米和三星,登上全球第一的宝座
- 一片唱衰的魅族17系列,还有希望吗?
- 娱乐中的趣闻王者荣耀公屏组队发送方法,王者荣耀公屏组队怎么发
- 娱乐中的趣闻符石组合也拥有的慧根效果,梦幻西游:固伤五开的常用的省蓝方式
- 娱乐中的趣闻在我的世界中1:1还原真实世界,籽岷和百万玩家共同建造的大项目
- 娱乐中的趣闻科学无法解释,牛顿已无力吐槽,我的世界:游戏中违反定律的设定
- 老K侃世界丫语不惊人死不休,鹿晗上榜,娱乐圈中的5位钢铁直男
- 娱乐中的趣闻会让你喷血!,王者荣耀:手残党千万不要选这几个刺客
- 娱乐中的趣闻让你不怕上分,排位一直输怎么办?看看王者荣耀中的刺客克制关系
- 娱乐中的趣闻火影忍者手游:30元奥义图香不香?玩家:打死我也不愿被放奥义
