Я пишу приложение, которое должно использовать большие звуковые мульти-образцы, обычно размером около 50 мб. Один файл содержит около 80 отдельных коротких звуковых записей, которые могут быть воспроизведены в моем приложении в любое время. По этой причине все аудиоданные загружаются в память для быстрого доступа.
Однако при загрузке одного из этих файлов в память может уйти много секунд, потому что мне нужно прочитать большой объем данных с помощью ifstream, то есть мой программный графический интерфейс временно заморожен. Я попытался сопоставить память с моим файлом, но это вызывает огромные всплески процессора и беспорядок звука каждый раз, когда мне нужно перейти в другую область файла, что неприемлемо.
Итак, это заставило меня думать, что выполнение чтения асинхронного файла решит мою проблему, то есть данные будут прочитаны в другом процессе и вызовет функцию при завершении. Это должно быть совместимо для Mac OS X и Windows и на С++.
EDIT: не хотите использовать библиотеку Boost, потому что я хочу сохранить небольшую базу кода.