首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并发编程技术,优点,缺点

并发编程技术,优点,缺点
EN

Stack Overflow用户
提问于 2010-10-24 17:48:52
回答 4查看 3.7K关注 0票数 21

至少有三种著名的创建并发应用程序的方法:

  1. 通过锁定实现多线程和内存同步(.NET,Java)。软件事务内存(链接文本)是另一种同步方法。
  2. 异步消息传递(Erlang)。

我想了解是否有其他方法,并讨论了这些方法应用于大型分布式应用程序的各种利弊。我的主要重点是简化程序员的生活。

例如,在我看来,当多线程之间没有依赖关系时,使用多线程很容易,这是非常罕见的。在所有其他情况下,线程同步代码变得非常麻烦,很难调试和推理。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-24 18:28:49

我强烈建议看里奇·希基( Rich )的这份报告。它描述了一种构建高性能并发应用程序的方法,我认为它不同于基于锁或消息传递的设计。

它基本上强调:

  • 无锁多线程并发应用程序
  • 不可变的持久数据结构
  • 软件事务内存处理状态的变化

并讨论了这些原则对克洛尔语言设计的影响。

票数 8
EN

Stack Overflow用户

发布于 2010-10-24 18:14:27

阅读草本萨特有效并发专栏,你也会受到启发。

票数 5
EN

Stack Overflow用户

发布于 2010-10-24 19:08:42

使用Java 5并发API,只要您利用高级实用程序并正确使用它们,在Java中进行并发编程就不需要麻烦和困难。我发现Brian的“Java并发性”这本书是关于这个主题的极好的读物。在我的上一份工作中,我使用了本书中的技术,使一些图像处理算法扩展到多个CPU,并将CPU和磁盘绑定到管道中。我发现这是一次很棒的经历,我们取得了很好的成绩。

或者,如果您正在使用C++,您可以尝试使用OpenMP,它使用#杂注指令使循环并行,尽管我自己从未使用过它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4009536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档