在CCDataReaderHelper::addDataFromJsonCache函数中,会有下面这些代码:
if (dataInfo->asyncStruct)
{
pthread_mutex_lock(&s_addDataMutex);
}
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureData(armatureData->name.c_str(), armatureData, dataInfo->filename.c_str());
armatureData->release();
if (dataInfo->asyncStruct)
{
<pre class="brush:cpp; toolbar: true; auto-links: false;"> pthread_mutex_unlock(&s_addDataMutex);
}
就是说只有dataInfo->asyncStruct非空的时候才加锁,那如果使用了一个异步加载之后,马上又使用一个同步加载,会不会出现问题?