代码之家  ›  专栏  ›  技术社区  ›  Jarrod268

变成丝猴[关闭]

  •  3
  • Jarrod268  · 技术社区  · 15 年前

    除了“修修补补”,你会建议什么作为一个路线图来变得非常擅长写多线程应用程序?

    我是一个C开发人员-将分支到其他语言有助于这项工作吗?

    并行添加到.NET 4.0中是否隐藏了一些您应该知道的内容,以使其更简单?

    2 回复  |  直到 15 年前
        1
  •  6
  •   Jon Skeet    15 年前
    • 读乔·达菲的 "Concurrent Programming on Windows" . 乔是个了不起的专家。
    • 研究不同平台上并发的不同方法;查看erlang、scala等
    • 同样地,阅读Java并发性的书籍,它会有一些微妙不同的细节,但经常处理相同的核心问题,并有一些有用的模式。 "Java Concurrency in Practice" 经常被推荐。
    • 查看.NET上的各种选项,包括 Coordination and Concurrency Runtime 和f异步计算
    • 当然要学习并行扩展——这会有很大帮助,而且从我所看到的来看,已经进行了很多非常仔细的设计工作。(不过,4.0b2的情况有所变化,所以你 可以 希望暂时推迟。)
        2
  •  2
  •   Crippledsmurf    15 年前

    有一个关于.NET中线程的非常好的PDF here 线程类以及线程原语(mutex、waithandle、readerwriterlockslim等)的msdn文档也是很好的阅读。

    要理解的关键是:

    1. 何时使用线程
    2. 什么时候? 使用线程
    3. 如何管理线程之间的共享状态。

    我可以在这里继续解释这些,但我觉得链接到上面的线程pdf在这方面做得比我好得多,关键是线程是一个强大的工具,了解何时以及如何使用它们将使您比简单地阅读msdn更精通它们的使用,尽管有效地使用线程的策略是也覆盖了那里。