C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程# C++11 开始的多线程编程 by 彭于斌 (@archibate) 往期录播:https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码:https://github.com/parallel101/course ## 高性能并行编程与优化 - 课程大纲 • 分为前半段和后半段,前半段主要介绍现代 C++,后半段主要介绍并行编程与优化。 入门 2. 现代 C++ 入门:常用 STL 容器,RAII 内存管理 3. 现代 C++ 进阶:模板元编程与函数式编程 4. 编译器如何自动优化:从汇编角度看 C++ 5. C++11 起的多线程编程:从 mutex 到无锁并行 6. 并行编程常用框架:OpenMP 与 Intel TBB 7. 被忽视的访存优化:内存带宽与 cpu 缓存机制 8. GPU 专题:wrap 调度,共享内存,barrier [Image](/uploads/documents/4/1/5/c/415c35d9cac8ae4bb4317bc7805d63cb/p3_1.jpg) 个人认为,C++11中很多特性,其实可以看做是为了支持多线程而顺带引入的……如 chrono、移动、lambda、RAII…… ## 第 0 章:时间 ### C 语言如何处理时间:time.h • long t0 = time(NULL); // 获取从0 码力 | 79 页 | 14.11 MB | 2 年前3
Julia v1.1.1 Documentation0 码力 | 1216 页 | 4.21 MB | 2 年前3
Julia 1.6.0 DEV Documentation0 码力 | 1383 页 | 4.56 MB | 2 年前3
Julia 1.12.0 DEV Documentation0 码力 | 2009 页 | 6.72 MB | 2 年前3
在 JavaScript 中的并行语言特性-周爱民[Image](/uploads/documents/9/1/3/f/913f07cec8e87d6a2f1136aaefd2e432/p39_1.jpg) → Promise并行方法的实现 → 在ES2017及其之后的扩展 多线程环境下的并行与并发 → 分布式环境下的应用 ## 极客邦科技 会议推荐2019  o.do_something_useful() ``` 使用单独的“存活”测试会在多线程应用中制造竞争条件;其他线程可能导致某个弱引用在该弱引用被调用前就失效;上述的写法在多线程应用和单线程应用中都是安全的。 特别版本的ref对象可以通过子类化来创建。在WeakValueDictionary的实现中就使用了这种方式来减少映射中 decimal.DefaultContext 此上下文被Context构造器用作新上下文的原型。改变一个字段(例如精度)的效果将是改变Context构造器所创建的新上下文的默认值。 此上下文最适用于多线程环境。在线程开始前改变一个字段具有设置全系统默认值的效果。不推荐在线程开始后改变字段,因为这会要求线程同步避免竞争条件。 在单线程环境中,最好完全不使用此上下文。而是简单地电显式创建上下文,具体如下所述。0 码力 | 1961 页 | 9.14 MB | 1 年前3
共 227 条
- 1
- 2
- 3
- 4
- 5
- 6
- 23













