当一个线程调用一个需要_tiddata结构的C/C++ 运行库函数时,C/C++ 运行库函数尝试取得线程数据块的地址,如果未NULL作为_tiddata数据块的地址返回时,表明主调线程没有与之关联的_tdidata数据快。这个时候C/C++运行库会为主调线程分配并初始化一个_tiddata数据块。这个数据快会线程关联,当线程销毁时,ExitThread函数不会调用该数据块的析构函数,导致内存泄漏。
当一个线程调用一个需要_tiddata结构的C/C++ 运行库函数时,C/C++ 运行库函数尝试取得线程数据块的地址,如果未NULL作为_tiddata数据块的地址返回时,表明主调线程没有与之关联的_tdidata数据快。这个时候C/C++运行库会为主调线程分配并初始化一个_tiddata数据块。这个数据快会线程关联,当线程销毁时,ExitThread函数不会调用该数据块的析构函数,导致内存泄漏。