八.定制new和delete
本章焦点是了解C++内存管理例程的行为,主角是分配例程和归还例程。多线程环境下的内存管理,遭受单线程系统不曾有过的挑战。由于heap是一个可被改动的全局性资源,因此多线程系统充斥着发狂访问这类资源的race condition出现机会。本章多个条款提及使用可改动之static数据,如果没有适当的同步控制,一旦使用无锁算法或精心防止并发访问,调用内存例程可能很容易导致管理heap的数据结构内容败坏。此外,STL容器所使用的heap内存是由管理所拥有的分配器对象管理,不是被new和delete直接管理,本章不讨论STL分配器。

浙公网安备 33010602011771号