C#程序设计-讲义-14.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于C#的 .NET Framework程序设计 第10章 数据流和文件 第11章 Internet访问 第12章 序列化 第13章 远程处理和XML Web Service 第14章 线程和异步编程 第15章 托管代码与非托管代码之间的互操作 第16章 使用Microsoft ADO.NET 访问数据 第17章 属性 第14章 线程和异步编程 线程介绍 在.NET中使用线程 线程安全 线程的特殊主题 .NET中的异步编程 线程介绍 线程概述 .NET对线程的支持概述 .NET的线程体系结构 线程概述 线程 操作系统分配处理器时间的基本单位 支持多个活动同时进行 多线程的优点 允许应用程序进行后台处理,同时保持对用户界面的响应 区分任务的优先级 通过网络进行通信,如和Web服务器、数据库进行通信 使用线程的潜在缺点 会增加操作系统负担,降低应用程序性能,例如,线程上下文切换 控制多个线程的代码执行是复杂而又易出错的 .NET对线程的支持概述 基本的线程命名空间 System.Threading 标准的异步编程设计模式 隐藏线程的创建和同步细节 由 .NET Framework的委托类和 IAsyncResult 接口提供支持 .NET的线程体系结构 第14章 线程和异步编程 线程介绍 在.NET中使用线程 线程安全 线程的特殊主题 .NET中的异步编程 在.NET中使用线程 启动线程 Thread类的属性和参数 管理线程 线程本地存储区 中断和终止线程 启动线程 创建线程对象实例 构造函数以 ThreadStart委托作为它的惟一参数 ThreadStart 委托引用新线程将要执行的方法 直到 Thread.Start方法被调用,线程才开始执行 下例中,MyClass.AStaticMethod方法的代码被执行 Thread类的属性和参数 使用 Thread.Name 和Thread.Priority 属性来获取或设置线程的名称和优先级 通过设定 Thread.IsBackground 属性来指定是前台线程还是后台线程 后台线程不会使托管执行环境处于活动状态 在对象中封装线程参数 管理线程 Thread.Sleep 引起当前线程阻塞 Suspend 和 Resume 方法通常没用处 会导致像死锁这样严重的应用程序问题 Thread.Join等待其他线程退出 Thread.WaitHandle 方法等待一个或多个事件 Thread.ThreadState 属性是线程状态的位掩码 线程本地存储区 托管线程本地存储包含只和某个线程相关的数据 线程相关的静态字段 用ThreadStaticAttribute 属性来修饰静态字段 构造函数代码只在第一个线程中运行,其他线程中线程静态变量被初始化为null 中断和终止线程 Thread.Interrupt 方法 从任何等待状态唤醒线程并引发 ThreadInterruptedException 异常 Thread.Abort 方法 不能保证线程立刻被终止,所以使用Thread.Join来等待直到线程终止 从任何等待状态唤醒线程并引发 ThreadAbortException 异常 ThreadAbortException异常 可以被应用程序代码捕获, 但它会在catch代码段结束的时候再次抛出,直到 ResetAbort被调用 第14章 线程和异步编程 线程介绍 在.NET中使用线程 线程安全 线程的特殊主题 .NET中的异步编程 线程安全 线程安全概述 同步上下文 同步代码区域 手动同步 线程安全和 .Net Framework类 线程安全概述 线程之间共享数据和资源的普遍问题 争用条件 未受控制的代码执行顺序会引起错误 死锁 线程之间互相等待从而阻止线程继续执行 最好的办法是尽可能避免共享数据 把数据封装在不被共享的对象中 .NET Framework提供了三种策略来同步对实例方法、静态方法和实例字段的访问 同步上下文 同步代码区域 手动同步 同步上下文 使用SynchronizationAttribute 属性为ContextBoundObject 类型对象提供简单、自动的线程同步 只有成员字段和成员方法被同步 静态方法和字段不被保护,允许多个线程同时访问 同步代码区域 以MethodImplOptions.Synchronized枚举参数的MethodImplAttribute属性修饰方法 使用 MethodImplAttribute来访问需要同步的实例和静态方法 该方法同一时间只能在一个线程中执行 与Monitor 或 lock 功能类似 Monitor 和 SyncLock 用 Moni

文档评论(0)

xina171127 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档