# TTripleBuffer * TTripleBuffer无锁单消费单生产,不需要引入锁同步。 * 线程引入主要憧憬1+1趋近于2,但多线程很难做到数据独立,因此不竞争的同步显得极其美丽。 * TTripleBuffer借鉴于UE里,在服务器里我发现大多双缓冲数据然后悲观锁,就在想单消费和单生产是不是仅仅做好同步逻辑,互斥锁的互斥逻辑可能需求过剩。 多线程问题: * 指令重排:TTripleBuffer数据位和标志位是一起的,读和写互不干扰主要在交换Temp位,所以避免了这个问题,自然也不用加内存屏障。 * 线程同步:同步标志位主要是Dirty位,不存在两个同时写,只可能存在一写一读,能保证消费线程在生产之后动作。