1、原子锁
使用InterlockedExchangeAdd函数来实现原子增长,InterlockedExchange\InterlockedExchangePointer用来交换两个变量的值,InterlockedCompareExchange对比数值,相等则交换(对应的InterlockedCompareExchangePointer)。对应的
还有64位函数。
InterlockedIncrement\InterlockedDecrement是比较老的函数,只能增加或递减1,InterlockedExchangeAdd的灵活性更
大。
2、Interlocked 单向链表操作函数(支持原子操作的链表)
InitializeSListHead 创建一个空栈InterlockedPushEntrySList 入栈
InterlockedPopEntrySList 出栈
InterlockedFlushSList 清空栈
QueryDepthSList 获取栈元素个数
3、高速缓存行
CPU从内存中取出指令时,一次取出高速缓存行大小个字节(32、64、128因CPU型号而异),CPU就不用访问内存总线,直接从缓存中读取指令比内存中读取快多了。