Когда я должен использовать потоки в задачах? - FreeRTOS
Я собираюсь разработать встраиваемую систему на основе FreeRTOS, которая будет работать на чипе ESP32. В соответствии с API Reference я могу создавать задачи, а также pthreads.
Есть ли эмпирическое правило, которое говорит мне, должен ли я реализовать функциональность как задачу или как поток? Например: если я хотел бы обрабатывать три периферийные устройства паралельно (просто простое чтение, так: короткий код, низкая производительность, почти вся необходимая память), я должен создать новую задачу или новый поток?
1 ответ
У FreeRTOS есть задачи. pthread предлагается в качестве оболочки для задачи переносимости и совместимости с системами и кодом POSIX.
В любом случае, FreeRTOS не имеет разделения памяти, виртуализации и переназначения при переключении контекста между задачами, поэтому все его задачи - это то, что POSIX будет называть потоками.