解決多线程中11个常见问题.docxVIP

  • 10
  • 0
  • 约1.2万字
  • 约 12页
  • 2017-01-17 发布于重庆
  • 举报
解決多线程中11个常见问题

并发危险解决多线程代码中的 11 个常见的问题Joe Duffy本文将介绍以下内容:基本并发概念并发问题和抑制措施实现安全性的模式横切概念本文使用了以下技术:?多线程、.NET Framework?目录数据争用?忘记同步?粒度错误?读写撕裂?无锁定重新排序?重新进入?死锁?锁保护?戳记?两步舞曲?优先级反转?实现安全性的模式?不变性?纯度?隔离?并发现象无处不在。服务器端程序长久以来都必须负责处理基本并发编程模型,而随着多核处理器的日益普及,客户端程序也将需要执行一些任务。随着并发操作的不断增加,有关确保安全的问题也浮现出来。也就是说,在面对大量逻辑并发操作和不断变化的物理硬件并行性程度时,程序必须继续保持同样级别的稳定性和可靠性。与对应的顺序代码相比,正确设计的并发代码还必须遵循一些额外的规则。对内存的读写以及对共享资源的访问必须使用同步机制进行管制,以防发生冲突。另外,通常有必要对线程进行协调以协同完成某项工作。这些附加要求所产生的直接结果是,可以从根本上确保线程始终保持一致并且保证其顺利向前推进。同步和协调对时间的依赖性很强,这就导致了它们具有不确定性,难于进行预测和测试。这些属性之所以让人觉得有些困难,只是因为人们的思路还未转变过来。没有可供学习的专门 API,也没有可进行复制和粘贴的代码段。实际上的确有一组基础概念需要您学习和适应。很可能随着时间的推移某些语言和库会隐藏一

文档评论(0)

1亿VIP精品文档

相关文档