Как чисто выключить очередь работы в реальном времени?C++

Программы на C++. Форум разработчиков
Anonymous
Как чисто выключить очередь работы в реальном времени?

Сообщение Anonymous »

Я использую API очереди работы в режиме реального времени Windows, чтобы выполнить воспроизведение звука, используя WasApi. Очередь создается с использованием rtwqlocksharedworkequeue , и работа представлена ​​с использованием rtwqputwaitingworkitem . Из обратного вызова RtwqputwaitingWorkitem снова вызывается, чтобы поддерживать воспроизведение. Пока все работает нормально. Вопрос в том, как мне чисто выключить очередь из основной нити? Я могу позвонить в rtwqcancelworkitem , но в документации говорится

Поскольку рабочие элементы являются асинхронными, обратный вызов Work-item все еще может быть вызван после rtwqcancelworkitem . Rtwqunlockworkqueue и rtwqshutdown Но они, похоже, не ожидают завершения рабочих элементов.

Подробнее здесь: https://stackoverflow.com/questions/797 ... work-queue

Вернуться в «C++»