ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
345121 Топик полностью
fk0, легенда (06.08.2012 10:42, просмотров: 119) ответил VVB на Хочу вопрос автору топика задать. На ваш взгляд, имеет ли смысл использование нескольких задач и средств межзадачного взаимодействия при грамотном использовании С++?
Не зависит от языка. Имеет, на мой взгляд, но только разделение на небольшое число относительно независимых задач. Или когда действительно нужно вытеснение. То же что делают во многих современных RTOS (по отдельной задаче на каждый мигающий светодиод...), на мой взгляд, лучше реализуется методами событийно-ориентированного программирования, и для этого нужен какой-то механизм генерации и обработки событий, наподобии такового в windows или наподобии сигналов и слотов в Qt. А многие RTOS тут откровенно плохи (типовая проблема -- отсутствие чего-то вроде WaitForMultipleEvents() или select(), отсюда и по отдельной задаче на каждый чих), средств для событийно-ориентированного программирования не имеют, основной упор на вытесняющую многозадачность, которая часто вовсе вредна -- нужны сложные механизмы синхронизации, ошибки в них, расход памяти на стек. C++ применительно к RTOS смущает вопрос компоновки. Не все RTOS окажутся совместимы с C++.
[ZX]