怎么快速彻底清空 CImageList,释放所占资源

如何快速彻底清空 CImageList,释放所占资源
用CImageList和CListCtrl来显示缩略图
现在遇到一个问题
每次加载缩略图之前都要释放之前的缩略图所占资源,如下

int iImageCount = pImgList->GetImageCount();
for( int i=0; i < iImageCount; i++ )
{
pImgList->Remove(0);
}


如果只是几十个或几百个缩略图,这个过程会比较快,但是如果是几千个甚至是几万个缩略图呢,这个释放的过程就会很慢,好几秒甚至十几几十秒都有可能,这样就会造成显示界面空白卡死的现象,有没有什么办法可以使这个释放的过程快速完成而不影响到界面的卡顿呢?
如果不进行这段释放的代码,缩略图来回切换加载是没有卡顿的现象,那是不是会造成加载略缩图所占的内存资源不断累加?

如果只能用pImgList->Remove(0);来释放资源的话,我想到一个方法,声明一个数组 pImgList[n],第一次加载缩略图时调用pImgList[0],当切换到加载另一组缩略图时用pImgList[1]进行处理,同时用线程将pImgList[0]释放掉,再切换到另一组缩略图时调用pImgList[2],同样将先前调用过的pImgList[1]用线程释放掉。这里有一个问题是当返回来要调用pImgList[0]时如何判断其资源已经释放完成了,用 pImgList[0]->GetImageCount() =0 是不是可以说明pImgList[0]已经释放完成了?
------解决方案--------------------
m_imageList.Remove(-1);
删除全部

还有,不用remove直接DeleteImageList