【求助】音效引擎问题

移植3.17的audio到旧版本的引擎,使用vs2012编译win32平台,修改编译不过的问题后,发现,
AudioCache* AudioEngineImpl::preload(const std::string& filePath, std::function<void(bool)> callback)
{
AudioCache* audioCache = nullptr;

auto it = _audioCaches.find(filePath);
if (it == _audioCaches.end()) {
	audioCache = &_audioCaches[filePath];

这里会导致
AudioCache::~AudioCache()
{
ALOGVV("~AudioCache() %p, id=%u, begin", this, _id);
*_isDestroyed = true;
while (!_isLoadingFinished)
{
if (_isSkipReadDataTask)
{
ALOGV(“id=%u, Skip read data task, don’t continue to wait!”, _id);
break;
}
ALOGVV(“id=%u, waiting readData thread to finish …”, _id);
std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
//wait for the ‘readDataTask’ task to exit

并且在这里面不断循环等待,程序无法进行下一步