реклама на сайте
подробности

 
 
> Система, управляемая событиями и SST(super-simple tasker), Выделено из "ООП. Классы и динамические объекты"
brag
сообщение Sep 7 2016, 09:07
Сообщение #201


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Недавно я начал пользоваться динамической памятью. Раньше пользовался только статикой, то есть placement new. Со статикой сложно работать с такими шаблонами, как фабрика обьектов, временные задачи итд.
Программирую в основном под cortex-m3/m4
Код реализации аллокатора вышел довольно простым и быстрым, критически секции есть, но очень короткие(там прочитать/записать пару байт).
При чем я не использую этих всяких монстров под названием RTOS, у меня свой простейший асинхронный планировщик задач, занимает строк 300 кода с комментариями(погуглите запрос "super simple tasker", поймете что это).
В купе с динамическим аллокатором, variable element-size queue, новыми фишками C++ (шаблоны, лямбда-функции, auto) получается очень простой, безопасный и мощный фреймворк.
Вспоминаю работу с классическими Thread-ами(с ихними стеками - куча кода было написано для анализа программ на предмет нужного обьема стека, и теперь эта куча кода отправлена на мусорку) со всеми этими тяжеленными мютексами, семафорами, вечными циклами как страшный сон.

Если кому интересно - расскажу и покажу как это все работает.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- brag   Система, управляемая событиями и SST(super-simple tasker)   Sep 7 2016, 09:07
- - brag   Та мощный проц запросто под ФП идет, но я работаю ...   Sep 27 2016, 15:09
- - brag   ЦитатаВозьмите любую MT задачу размером более 1000...   Sep 27 2016, 15:57
|- - XVR   Цитата(brag @ Sep 27 2016, 18:57) Этих пр...   Sep 27 2016, 16:14
- - brag   ЦитатаТ.е. SST это такая смирительная рубашка, кот...   Sep 27 2016, 16:26
|- - XVR   Цитата(brag @ Sep 27 2016, 19:26) Равно, ...   Sep 27 2016, 17:53
- - brag   Ну такое переливание делается как-то так. deadlock...   Sep 27 2016, 19:40
|- - XVR   Цитата// or process an error in another way ...   Sep 28 2016, 07:05
- - brag   ЦитатаИменно, что 'another way'. Нужно пос...   Sep 28 2016, 07:36
|- - XVR   Цитата(brag @ Sep 28 2016, 10:36) При про...   Sep 28 2016, 08:17
- - sigmaN   Я думал любой deadlock есть результат бага в прогр...   Sep 28 2016, 08:23
- - brag   ЦитатаОригинальная программа даст deadlock. Т.е. с...   Sep 28 2016, 09:00
|- - XVR   Цитата(brag @ Sep 28 2016, 12:00) Оригина...   Sep 28 2016, 11:07
- - brag   ЦитатаЭто почему не может? А работа по поллингу вм...   Sep 28 2016, 13:24
|- - XVR   Цитата(brag @ Sep 28 2016, 16:24) если ес...   Sep 28 2016, 14:47
- - brag   ЦитатаЭто абсолютно не такю Чтение этого регистра ...   Sep 28 2016, 16:52
|- - XVR   Цитата(brag @ Sep 28 2016, 19:52) То же с...   Sep 28 2016, 20:15
- - brag   ЦитатаЯ понимаю, что эхо с изменением тембра можно...   Sep 28 2016, 21:08
|- - XVR   Цитата(brag @ Sep 29 2016, 00:08) Вот это...   Sep 29 2016, 13:27
- - brag   При синхронизации на мютексах не столько страшен d...   Sep 29 2016, 12:31
- - brag   ЦитатаВот именно - заставляет. Это механизм принуд...   Sep 29 2016, 16:12
|- - XVR   Цитата(brag @ Sep 29 2016, 19:12) С чего ...   Sep 30 2016, 09:00
|- - amaora   Цитата(XVR @ Sep 30 2016, 12:00) Ну как т...   Sep 30 2016, 14:39
|- - XVR   Цитата(amaora @ Sep 30 2016, 17:39) Нужно...   Sep 30 2016, 19:48
|- - amaora   Цитата(XVR @ Sep 30 2016, 22:48) Это зави...   Sep 30 2016, 20:48
|- - XVR   Цитата(amaora @ Sep 30 2016, 23:48) Нужен...   Oct 1 2016, 13:34
- - brag   ЦитатаОтсюда следует, что ниша чистого SST - это м...   Sep 29 2016, 19:35
- - brag   ЦитатаДля этого обычно используют примитивы захват...   Sep 30 2016, 20:21
- - brag   ЦитатаВопрос был не про SST, на нем задача решится...   Sep 30 2016, 21:46
|- - amaora   Цитата(brag @ Oct 1 2016, 00:46) Смысл в ...   Oct 1 2016, 18:28
- - brag   ЦитатаВ С их нет. Они есть в gcc, но это его собст...   Oct 1 2016, 16:33
- - brag   С мютексом можно работать, но если начнутся вложен...   Oct 1 2016, 19:15
|- - amaora   Цитата(brag @ Oct 1 2016, 22:15) С мютекс...   Oct 1 2016, 19:37
- - brag   На кортексе можно обойтись без запрета прерываний,...   Oct 2 2016, 10:33
- - brag   В процессе написания очередного проекта столкнулся...   Oct 10 2016, 17:09
- - DASM   А автор тем временем вытяснющую блокирующую в комл...   Dec 6 2017, 16:21
|- - AHTOXA   Дайте, пожалуйста, ссылочку, чтобы по всей теме не...   Dec 6 2017, 21:17
- - DASM   https://www.state-machine.com   Dec 7 2017, 06:05
|- - AHTOXA   Благодарю.   Dec 7 2017, 15:29
- - DASM   Я потихоньку начинаю проникаться сабжем, начну на ...   Dec 7 2017, 20:22
- - DASM   brag, а Вы дин. памятью пользуетесь? Выкинув эти т...   Dec 9 2017, 05:06
3 страниц V  < 1 2 3


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 21:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016