[求助]下载图片并显示的问题

正在做网络方面的东西,现在需要从服务器上取下图片并且显示。
我的做法是,继承ccsprite,create的时候,先显示一张表示加载的图片,然后开一个线程从服务器上下载图片,保存到本地,然后用下载好的图片去更换之前那张图片。
目前的状况是已经下载到了图片,并保存到了caches目录下,但是用下载到的图片生成texture替换之前的图片后,sprite总是一片纯黑色。。。有没有谁遇到过这种情况?

CCTexture2D *pic = CCTextureCache::sharedTextureCache()->addImage(file.c_str());

    if (pic)
    {
        this->setTexture(pic);
    }

已经检查确认过很多遍,图片确实已经下载到本地了,而且如果用Resource下的图片来生成这个texture的话,会成功显示图片,但是用caches下的去替换就总是黑色。 但是如果直接用caches下的图片去生成sprite的话,也是能显示的。,。要抓狂了啊。。。

我找出是什么问题了, 是多线程的会导致draw出现问题,正在找解决的理法。。。如果大家有什么好的方法,也请指教,谢谢!