C#编程课件.ppt

  1. 1、本文档共445页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线程的优先级 操作系统在调度多线程的时候。会给每个线程指定不同的优先级,这样就可以影响调度的顺序,这个过程就像运算符的优先级一样。在Thread类中,通过设置Priority属性来定义基本优先级。 ThreadPriority类枚举线程优先级的所有可能值 成员 说明 AboveNormal 在具有Highest优先级的线程之后,具有Normal优先级的线程之前 BelowNormal 在具有Normal优先级的线程之后,具有Lowest优先级的线程之前 Highest 在具有任何其他优先级的线程之前 Lowest 在具有任何其他优先级的线程之后 Normal 在具有AboveNormal优先级的线程之后,在具有BelowNormal优先级的线程之前。默认情况下,初始分配的线程具有Normal优先级。 在本例中,创建3个线程,为它们定义不同的优先级,它们的运行时间就不一样, 10 MyThreadClass o1 = new MyThreadClass(我是线程1,我的优先级是:Highest);//实例化 11 Thread t1 = new Thread(o1.ThreadMain); //传送线程主方法 12 t1.Priority = ThreadPriority.Highest; //指定优先级 13 t1.Start(); //启动线程 14 MyThreadClass o2 = new MyThreadClass(我是线程2,我的优先级是:Lowest);//实例化 15 Thread t2 = new Thread(o2.ThreadMain); //传送线程主方法 16 t2.Priority = ThreadPriority.Lowest; //指定优先级 17 t2.Start(); //启动线程 18 MyThreadClass o3 = new MyThreadClass(我是线程3,我的优先级是:BelowNormal);//实例化 19 Thread t3 = new Thread(o3.ThreadMain); //传送线程主方法 20 t3.Priority = ThreadPriority.BelowNormal; //指定优先级 21 t3.Start(); //启动线程 竞态条件 使用多线程编程会带来一些问题,例如:两个线程竞争资源、单个线程进行死循环等。在术语中,把这两种现象叫做线程的竞态和死锁, 竞态条件就是两个或多个线程访问相同的资源对象,或者相互之间访问不同步的共享状态。竞态条件对很多初学者来说,很难理解。笔者打个简单的比方:假如在一个进程中有两个线程A和B,有一个全局变量i=1。A进程正在计算i=i+1的操作,当刚好取出i的值放到寄存器中时,此时B进程又在进行i=i-1的操作,那么i=i+1永远也计算不出正确的结果。这种现象就是竞态条件。 死锁 在两个线程中,线程A抢到了资源1,还需要资源2;线程B抢到了资源2,还需要资源1。那么必然会产生死锁。在死锁中,至少有两个线程被挂起,等待对方解除锁定。由于两个线程都在等待对方,就出现了死锁,线程将无限等待下去,如图所示 . 由于线程的优先级是动态分配的,所以程序员也无法知道启动的线程是哪一个先执行。如果有某一个线程一直需要使用CPU,而且又不等待资源,那么它的优先级就会降低。如果某一个线程在等待资源,那它的优先级向上就会增加。但是如果为每个线程指定了优先级后,就可以对它进行控制了. 天道酬勤,有耕耘就会有收获 祝读者们学习愉快 第五十六讲:文章发布系统 讲师:周红安 E-mail:jtclass@163.com ASP.NET是建立在.NET Framework之上的Web开发框架,其可以建立强大的Web应用程序。 以一个文章发布系统为例,介绍如何应用C#语言开发一个Web应用程序,同时也介绍一些基本的设计方法和技巧。对于初学者来说,本例子对于掌握C#的Web应用程序开发具有很好的入门和指导意义。 随着信息化普及,越来越多的信息都放到网络上进行发布。这样,文章管理系统的应用越来越广泛。在实际工作中,如果采用传统的静态页面进行保存文章内容,然后再传到服务器中,那么管理员每天就不得不花费很多的时间来制作静态网页。但

文档评论(0)

新起点 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档