C#编程和.NET框架崔建江第5章第五章课件教学.pptVIP

  • 3
  • 0
  • 约3.94万字
  • 约 161页
  • 2017-01-01 发布于广东
  • 举报

C#编程和.NET框架崔建江第5章第五章课件教学.ppt

PPT研究院 POWERPOINT ACADEMY * * 基于以上认识,我们可以一个比喻来加深理解。假设有一个公司,公司里有很多各司其职的职员,那么我们可以认为这个正常运作的公司就是一个进程,而公司里的职员就是线程。一个公司至少得有一个职员吧,同理,一个进程至少包含一个线程。在公司里,你可以一个职员干所有的事,但是效率很显然是高不起来的,一个人的公司也不可能做大;一个程序中也可以只用一个线程去做事,事实上,一些过时的语言如fortune,basic都是如此,但是象一个人的公司一样,效率很低,如果做大程序,效率更低——事实上现在几乎没有单线程的商业软件。公司的职员越多,老板就得发越多的薪水给他们,还得耗费大量精力去管理他们,协调他们之间的矛盾和利益;程序也是如此,线程越多耗费的资源也越多,需要CPU时间去跟踪线程,还得解决诸如死锁,同步等问题。 * 由于各线程的代码区是共享的,即每个线程都可以执行相同的函数。但是多线程环境下,可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。 可能在执行完第二个if的条件判断之后,另外一个线程却执行了balance=balance-amount修改了balance的值,而这个修改对这个线程是不可见的,所以可能导致这时if的条件已经不成立了 ,但是,这个线程却继续执行balance=b

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档