База знаний / видео

Использование стандартной библиотеки С++ для обработки сигналов в real time

Компьютерные игры, обработка аудиосигналов в режиме реального времени и другие подобные приложения низкой задержки требуют того, чтобы код был не только корректным, но также и исчислял требуемый результат надёжно в детерминированный срок выполнения. В этом докладе мы рассмотрим, в какой степени можно использовать стандартную библиотеку С++ для создания приложений с подобными «real-time» ограничениями. Какие инструменты из стандартной библиотеки можно использовать с уверенностью, что они не будут блокировать поток, ждать освобождения мьютекса, не будут выделять или освобождать память и не будут совершать другие подобные действия с недетерминированной задержкой? Каких средств из набора стандартной библиотеки следует избегать и почему? По пути мы обсудим некоторые малоизвестные и неожиданные аспекты этих привычных нам стандартных инструментов.