Как стать автором
Обновить

Комментарии 3

Нельзя ли подробнее о «легких потоках».
Какую же конкретно задачу вы успешно решили с их использованием.
Какой выигрыш в наносекундах получили, на какой платформе.
И имеете ли вообще тайминги работы хотя бы основных сервисов вашей RTOS на какой либо платформе?
  1. Пока что легкие потоки используются у нас как замена прослойки softirq. Это не главное, для чего они создавались, но в скором времени мы применим их по назначению. Конкретная задача, которая привела к появлению потоков — это драйвер tty, который использовал потоки и синхронизацию мьютексами, а нужно было это на маленькой плате запускать. Тогда из-за отсутствия легких потоков мы пошли обходным путем. Сейчас приоритеты у нас немного другие, но потом мы переведем tty на легкие потоки.
  2. О выигрыше во времени говорить тут не очень уместно. Легкие потоки работают быстрее обычных потоков, да, и в ближайшие пару недель я произведу соответствующие замеры. Но вот, например, если реализовать кооперативную многозадачность только через switch, это будет, очевидно, быстрее. Тут скорее речь идет об удобстве программирования с наименьшими затратами на память и такты. Да еще и круто, что любой легкий поток может синхронизоваться с обычными, передавать сообщения друг другу. То есть они не крутятся каждый в своей песочнице.
  3. Какие-то замеры у нас есть, хоть и не в систематизированном виде. Может, вас что-то конкретное интересует? Я попрошу коллег конкретные цифры предоставить.
Годно, спасибо. Начал использовать)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий