Kevin

游戏开发闲谈

导航

2018年6月7日 #

3-线程间共享数据

摘要: 本章主要内容 共享数据带来的问题 使用互斥量保护数据 数据保护的替代方案 3.1 共享数据带来的问题 不变量(invariants) 的概念对程序员们编写的程序会有一定的帮助——对于特殊结构体的描述;比如,“变量包含列表中的项数”。不变量通常会在一次更新中被破坏,特别是比较复杂的数据结构,或者一次更 阅读全文

posted @ 2018-06-07 16:02 iamkevin 阅读(200) 评论(0) 推荐(0) 编辑

2-线程管理

摘要: 2.1 线程管理的基础 2.1.1 启动线程 使用C++线程库启动线程,可以归结为构造 std::thread 对象: 可以用可调用类型构造,也就是伪函数 启动了线程,你需要明确是要等待线程结束(加入式——参见2.1.2节),还是让其自主运行(分离式——参见2.1.3节) 如果 对象销毁之前还没有做 阅读全文

posted @ 2018-06-07 16:01 iamkevin 阅读(244) 评论(0) 推荐(0) 编辑

1-C++的并发世界

摘要: 1.1 何谓并发 并发的两种方式 1. 多核机器上的真正并行 2. 单核机器的任务切换 并发的两种途径 1. 多进程并发 1.1 多进程并发需要通过操作系统进行 进程间通信 2. 多线程并发 2.1 多线程并发需要 共享内存 1.2 为什么使用并发 主要原因有两个:关注点分离(SOC)和性能 为了分 阅读全文

posted @ 2018-06-07 15:46 iamkevin 阅读(121) 评论(0) 推荐(0) 编辑