【Bug】发一个HttpClient的bug,不知道新版解决没

network::HttpClient::getInstance()->send

//Add a get task to queue
void HttpClient::send(HttpRequest* request)
{
if (false == lazyInitThreadSemphore())
{
return;
}

if (!request)
{
    return;
}
    
request->retain();

_requestQueueMutex.lock();
_requestQueue.pushBack(request);
_requestQueueMutex.unlock();

// Notify thread start to work
_sleepCondition.notify_one();

}

如果
layer1有个network::HttpRequest()的请求
回调为layer1::callback1

layer2也有个network::HttpRequest()的请求
回调为layer2::callback2

layer1和layer2来回不停切换
切换时把对应的回调清空
->setResponseCallback(nullptr);

虽然有加锁
_requestQueueMutex.lock();
但某些极端情况下仍然存在线程同步的问题
导致从layer1切换到layer2后,layer1的callback才激活
而这时layer1已经释放掉了,导致程序非法

类似以前的TextureCache::addImageAsync
后者新版已经用的新的方法修正过了

楼主你好,这个问题解决了吗?我目前也有类似的问题,切换layer后,上个layer被消灭,但是他的responseCallback还是]程序崩溃。:12: