Многопоточность

Тема в разделе "Arduino & Shields", создана пользователем krapows, 4 авг 2019.

Метки:
  1. krapows

    krapows Нуб

    Добрый день. Я написал прототип на java, и теперь его нужно перенести на ардуину, но проблема кроется в том, что у меня имеется несколько массивов и мне нужно их одновременно обрабатывать, для этого на java я запускал новые потоки для обработки каждого из массивов, но возможно ли это сделать на ардуине и с минимальным расхожднием?
     
  2. parovoZZ

    parovoZZ Гуру

    Здесь вам не ява. Здесь на каждый массив придется ставить свою ардуинью. И действительно - все будет исполнятся по-настоящему параллельно. Вот только с межпроцессорным взаимодействием надо определиться. CAN шины в ардуиньи нет, поэтому I2C.
     
    Airbus нравится это.
  3. Daniil

    Daniil Гуру

    Вы как-то поспешили. Перенос кода с системы на систему нужно планировать с самого начала.
    Самое худшее это всё делать в одном "потоке" и надеяться памяти хватит.
    Мне кажется, что лучшим решением будет одноплатник, а не ардуина. Но конкретной задачи мы не знаем, так что это просто мысли вслух.
     
    Airbus нравится это.
  4. Согласитесь, что однопоточный процессор физически не может обрабатывать несколько массивов индекс-в-индекс. Минимум в один шаг индекса расхождение будет всегда. И не важно на каком языке вы программите. Здесь важно железо. Подключите к ардуине несколько микросхем регистров, соответственно числу массивов, и грузите в них. Как загрузили во все с одного индекса - вот абсолютно параллельные данные.
     
  5. parovoZZ

    parovoZZ Гуру

    может, одноядерный? Поток - это параметр программного обеспечения.
     
  6. Да вы правы.
     
  7. Unixon

    Unixon Оракул

    Hyperthreading?
     
  8. Multythreading
     
  9. asam

    asam Нерд

    Определите понятие "одновременно обрабатывать". А то беспредметный разговор получается.
    А заодно и про размер массивов упомяните.