Приводные моторы с обработкой изображений на Raspberry Pi

У меня есть вопрос об обработке изображения во время вождения двигателя. Я провел несколько исследований, возможно, мне нужно использовать многопроцессорность. Однако я не мог понять, как запустить два процессора вместе.

Допустим, у меня есть две функции, такие как imageProcessing() и DrivingMotor(). Получив информацию от imageProcessing(), мне нужно одновременно обновить функцию DrivingMotor(). Как я могу справиться с этой проблемой?

1 ответ

Решение

В многопроцессорной обработке вы должны создать два процесса (процесс означает выполнение программы) и реализовать методы взаимодействия между процессами для взаимодействия процессов друг с другом. Это утомительный, сложный и неэффективный способ. Многопроцессорная обработка менее эффективна, чем многопоточность. Поэтому я думаю, что вы должны использовать многопоточность. Это очень эффективный способ, связь между потоками очень проста, вы можете использовать глобальные данные для связи.

Вы должны создать два потока, один поток - дескриптор imageProcessing(), а другой поток - DrivingMotor(). Операционная система обрабатывает выполнение потока, Операционная система запускает синхронно эти потоки.

Ниже приведено базовое руководство по многопоточности.

https://www.tutorialspoint.com/python/python_multithreading.htm

Другие вопросы по тегам