CPU架构格局发生了变化,多核心趋势将改变我们开发软件的方式.我已经完成了C,C++和Java的多线程开发,我使用各种IPC机制完成了多进程开发.对于开发人员来说,使用线程的传统方法似乎并不容易使用支持高度并发性的硬件.
您了解哪些语言,库和开发技术有助于缓解创建并发应用程序的传统挑战?我显然在考虑死锁和竞争条件等问题.设计技术,库,工具等也很有趣,它们有助于实际利用并确保可用资源的利用 - 只需编写一个安全,健壮的线程应用程序并不能确保它使用所有可用的内核.
到目前为止我看到的是:
您还知道什么,对您有用的内容以及您认为有趣的内容是什么?
concurrency programming-languages functional-programming multicore
我理解两者之间的基本区别,我经常在程序中使用std :: async,这给了我并发性.
是否有任何可靠/值得注意的库可以在C++中提供并行性?(我知道这可能是C++的一个特色17).如果是这样,您对它们的体验是什么?
谢谢!芭芭拉