CPU 架构格局发生了变化,多核是一种趋势,它将改变我们开发软件的方式。我用 C、C++ 和 Java 做过多线程开发,我用各种 IPC 机制做过多进程开发。对于开发人员来说,使用线程的传统方法似乎并不容易使用支持高度并发的硬件。
您知道哪些语言、库和开发技术有助于缓解创建并发应用程序的传统挑战?我显然在考虑死锁和竞争条件等问题。设计技术、库、工具等也很有趣,它们有助于实际利用并确保利用可用资源——仅仅编写一个安全、健壮的线程应用程序并不能确保它使用了所有可用的内核。
到目前为止我看到的是:
- Erlang:基于进程,消息传递 IPC,'actor 的并发模型
- Dramatis:Ruby 和 Python 的演员模型库
- Scala:用于 JVM 的函数式编程语言,增加了一些并发支持
- Clojure:用于 JVM 的函数式编程语言,带有演员库
- Termite : Erlang 进程方法和消息传递给 Scheme 的一个端口
你还知道什么,什么对你有用,你认为什么有趣?