- 6
- 0
- 约 76页
- 2016-11-01 发布于湖北
- 举报
同步时要注意的问题死锁 不同的锁可以发生在不同的方法调用中。在这个示例中,第一个线程实际执行下述代码: lock(a) ( CallSomeMethod(); } CallSomeMethod()可以调用其他方法,其中有一个lock(b)语句,此时是否会发生死锁就不那么明显了。事实上出现死锁的条件常常不明显,在编写多线程应用程序时,如果需要同步,就必须考虑代码的所有部分,检查是否有可能发生死锁的条件。必须记住:不可能预见不同线程遇到不同语句的确切时间。 线程的同步 2、同步时要注意的问题 线程同步非常重要,但只在需要时使用也是非常重要的。因为这会降低性能。原因有两个: 首先,在对象上放置和解开锁会带来某些系统开销,但这些系统开销都非常小。 第二个原因更为重要,线程同步使用得越多,等待释放对象的线程就越多。如果一个线程在对象上放置了一个锁,需要访问该对象的其他线程就只能暂停执行,直到该锁被解开,才能继续执行。 结论: 在lock块内部编写的代码越少越好,以免出现线程同步错误。lock语句在某种意义上就是临时禁用应用程序的多线程功能,也就临时删除了多线程的各种优势。 总结 线程是在共享内存空间中并发的多道执行路径 在 C# 中,是使用 System.Threading 命名空间中的 Thread 类来创建
您可能关注的文档
- 第09章 串行总线技术-01详解.ppt
- 第1章 网络与Internet基础知识详解.ppt
- 第3章 因特网应用详解.ppt
- 第六章 数字信号的频带传输详解.ppt
- 第5章 内存选购详解.ppt
- 第11章 无线网络安全20111218详解.ppt
- 第8次课 S7-200系列系统配置详解.ppt
- 第八章 界面和胶体化学详解.ppt
- 第2课 秦朝中央集权制度的形成详解.ppt
- 第4课_甲午中日战争详解.ppt
- 2026住宅小区消防改造建筑方案(执行版,含总平面布置/疏散流线/消防节点).docx
- 2026制造工厂人力资源规划与排班配置方案(执行版,含排班模型/岗位编制/缺口清单).docx
- 2026人工智能企业内训实施计划(执行版,含培训安排/案例任务/考核清单).docx
- 2026仓储物流园总平面布置建筑方案(执行版,含车流组织/仓位分区/消防间距).docx
- 2026老旧办公楼节能改造建筑方案(执行版,含围护结构/节能设备/施工节点).docx
- 2026Python文件批量重命名与归档脚本方案(执行版,含文件样例/处理脚本/归档规则).docx
- 2026企业会计准则长期股权投资核算指南(执行版,含成本法分录/权益法分录/减值检查表).docx
- 2026社区养老服务中心项目可行性研究报告(执行版,含服务需求/建设内容/运营预算).docx
- 2026物流园冷链仓储项目可行性研究报告(执行版,含选址分析/设备配置/财务测算).docx
- 2026企业会计准则现金流量表编制口径手册(执行版,含分类口径/填报模板/勾稽检查表).docx
原创力文档

文档评论(0)