[cpp]STL学习-move和forward

moveforwardcpp11引入的两个模板函数, move配合移动语义对应的函数(移动构造, 移动赋值)可以减少不必要的拷贝, 而forward可以完美的保留参数的特性, 从而实现预期的行为.


无锁队列的原理和实现

无锁队列是指多线程对于队列的操作无需添加粒度较大的独占锁mutex, 而是通过细粒度的CAS(compare and swap)原子操作实现多线程下的同步. 其主要思想是: 使用mutex的锁的代价太高, 那就使用更小粒度的锁, 甚至这个锁的粒度是一条赋值指令.


进程间通信的方式

进程之间为了同步交互, 就需要进行进程之间的通信, 由于每个进程拥有独立的虚拟地址空间, 并且通过进程对应的页表记录虚拟页和物理内存页的映射. 因此需要提供额外的资源, 这份资源可以让目标进程获取以及操作来帮助不同进行之间完成通信. 而根据提供资源方法的不同, 造成了不同的进程间通信方式.