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

 
 
> Многозадачность на авр
Dimmix
сообщение Sep 5 2010, 12:06
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 645
Регистрация: 24-10-05
Пользователь №: 10 033



Подскажите однако как лучше запустить многозадачность на авр-ах
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sensor_ua
сообщение Sep 8 2010, 18:04
Сообщение #2


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

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
Насколько дольше? Как по мне - придется в каждую функцию во всей цепочке вызовов вставить индикатор, показывающий, просто так мы возвращаемся или с отдачей управления.
smile.gif Булевый код возврата (или NULL/!NULL) практически ничего не стОит. А анализ кода возврата при небольшой вложенности вполне сравним по времени с сохранением/загрузкой контекста (тут нужно цифры рассматривать, но, ИМХО, при глубине вложенности до 3 чаще вытеснение проиграет, а если глубина больше 4, то это уже скорее будет говнокодwink.gif).
Цитата
Вот сложная логика, вкупе с отсутствием локальных переменных - лучше ну его нафиг.
Ну не знаю - мне удобно для всякой логики (может то, что Вы называете сложной, не попадалось) - важно только понимать, где могут быть ощутимо долгоиграющие участки кода и там отдавать управление вручную. Последнее скорее может показаться непривычно (я бы сказал, что оно просто несколько не похоже на примеры из учебников), чем неудобно.
Цитата
они плохи тем, что требуют асинхронности по _всему_ коду, снизу доверху
опятьwink.gif Имею другое мнение. Считаю, что оперирование асинхронно изменяющимися данных и наличие буферов для них есть само по себе основным источником асинхронности в системах на МК. А если семь бед - один ресет(С), то зачем быть святее Папы Римского?


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
slanted
сообщение Sep 8 2010, 21:13
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 140
Регистрация: 2-01-08
Пользователь №: 33 768



Цитата(sensor_ua @ Sep 8 2010, 22:04) *
smile.gif Булевый код возврата (или NULL/!NULL) практически ничего не стОит. А анализ кода возврата при небольшой вложенности вполне сравним по времени с сохранением/загрузкой контекста (тут нужно цифры рассматривать, но, ИМХО, при глубине вложенности до 3 чаще вытеснение проиграет, а если глубина больше 4, то это уже скорее будет говнокодwink.gif).

Это процессору он ничего не стоит. А вот возвращать осмысленный результат придется через глобальное состояние - код возврата-то уже занят. Конечно, все можно завернуть в макросы, но в один прекрасный момент мы обнаружим, что пишем не на C, а черт-те на чём :-)


Цитата(sensor_ua @ Sep 8 2010, 22:04) *
Считаю, что оперирование асинхронно изменяющимися данных и наличие буферов для них есть само по себе основным источником асинхронности в системах на МК. А если семь бед - один ресет(С), то зачем быть святее Папы Римского?

Если уж на то пошло, то весь мир вокруг асинхронный ;-)

И, опять же, если абстрагироваться по максимуму - само наличие разницы между синхронным и асинхронным кодом есть следствие линейной модели стека и отсутствия поддержки coroutines. Такшта спор о том, какие костыли неудобнее :-) Хотя и практически важный в некоторых частных случаях :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dimmix   Многозадачность на авр   Sep 5 2010, 12:06
- - V_G   Работа по прерываниям - почти та же многозадачност...   Sep 5 2010, 13:25
- - Artem_Petrik   Цитата(Dimmix @ Sep 5 2010, 15:06) Подска...   Sep 5 2010, 14:37
- - _Pasha   Цитата(Dimmix @ Sep 5 2010, 16:06) Подска...   Sep 5 2010, 20:04
- - slanted   Цитата(Dimmix @ Sep 5 2010, 16:06) Подска...   Sep 6 2010, 21:49
|- - MrYuran   Цитата(slanted @ Sep 7 2010, 01:49) На са...   Sep 7 2010, 08:49
|- - slanted   Цитата(MrYuran @ Sep 7 2010, 12:49) Кроме...   Sep 7 2010, 14:34
|- - MrYuran   Цитата(slanted @ Sep 7 2010, 18:34) Это к...   Sep 7 2010, 14:42
|- - slanted   Цитата(MrYuran @ Sep 7 2010, 18:42) А вот...   Sep 7 2010, 15:26
|- - 777777   Цитата(MrYuran @ Sep 7 2010, 18:42) А вот...   Sep 7 2010, 15:55
- - sensor_ua   Цитата...нужно уметь сохранять и восстанавливать к...   Sep 7 2010, 03:19
- - 777777   Цитата(Dimmix @ Sep 5 2010, 16:06) Подска...   Sep 7 2010, 08:19
- - sensor_ua   ЦитатаВсе это так, но прототреды и прочие завуалир...   Sep 7 2010, 16:19
|- - slanted   Цитата(sensor_ua @ Sep 7 2010, 20:19) Пох...   Sep 7 2010, 16:41
- - sensor_ua   ЦитатаПокажите код штоле ;-) Вот выдрал простой ку...   Sep 7 2010, 20:49
|- - slanted   Цитата(sensor_ua @ Sep 8 2010, 00:49) Вот...   Sep 8 2010, 11:40
|- - MrYuran   Цитата(slanted @ Sep 8 2010, 15:40) Я буд...   Sep 8 2010, 11:50
- - sensor_ua   Цитатая же могу просто в ключевых местах yield() р...   Sep 8 2010, 12:15
|- - slanted   Цитата(sensor_ua @ Sep 8 2010, 16:15) Вот...   Sep 8 2010, 14:20
- - sensor_ua   Цитатавы не сможете сделать yield изнутри функции ...   Sep 8 2010, 15:07
|- - slanted   Цитата(sensor_ua @ Sep 8 2010, 19:07) Про...   Sep 8 2010, 15:52
- - DRUID3   Цитата(Dimmix @ Sep 5 2010, 15:06) Подска...   Sep 9 2010, 05:19
- - Dimmix   вариантов мультизадачности много, видимо нужен спе...   Sep 9 2010, 14:00
- - MrYuran   Цитата(Dimmix @ Sep 9 2010, 18:00) т.е. В...   Sep 9 2010, 14:49


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:30
Рейтинг@Mail.ru


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