Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Всякий специфичный софт для реализации потоков имеет смысл применять только тогда, когда разные потоки пишутся разными людьми. Если всё пишешь сам - пиши как обычную программу
Отправлено
Шунт_гороховый 25 декабря 2009, г. 20:08
В ответ на:
Что можно использовать для реализации потоков (thread) на AVR (+) отправлено пользователем
MikhailSh 25 декабря 2009, г. 19:35
Проще всего реализовать строгую иерархию приоритетов - пока не выполнится более приоритетный поток, менее приоритетные ждут.
Если приоритеты потоков одинаковы, то многие из них могут быть помещены в обработчики прерываний, что естественным образом устранит необходимость как-то заниматься разделением процессорного времени между потоками. Напр., поток, зажигающий и гасящий светодиодный индикатор в зависимости от некоторой глобальной переменной и опрашивающий кнопки, можно повесить на таймер.
Ну а если после такого отсева всё равно останется более одного потока для фоновой задачи (имхо, это бывает редко), придётся мутить с переключением контекста (т.е., ветвей) по таймеру - это некрасиво и неэффективно, но зато "в лоб". Но всё равно это проще сделать самому, чем использовать чужой код для разделения потоков.
Составить ответ | Вернуться на конференцию.
Ответы