Можно сделать только что "на глаз" будет выглядить как "одновременно". Но это уже зависит от умения того кто пишет код. В любом случае в каждый момент времени будет выполнятся только один кусочек кода.
Предвосхищая вопрос "как?". Общего рецепта нет. В каждом случае нужно сочинять финты ушами применительно к конкретной задаче.
Да нет. На стационарнике как раз "нормально могут". Там есть поддержка на уровне железа. И с этим нет проблем.
Проблемы возникают с разработкой паралельных алгоритмов, которые эту паралельность использовать могут эффективно и безопастно. То есть "узким местом" является скорее средства разработки, методологии и мозги программеров.
Вот тут на форуме, некторые не могут, в голове, прокрутить loop, а что с ними будет если нужно представить взаимодействие во времени 30-ти потоков?
Что-то сильно сомневаюсь, что там есть реальная многопоточность. Поддерживаемая на уровне железа. Там же вроде 8-битный камушек?
Насколько я понимаю RobotC это интерпретатор. То есть многопоточность "псевдо". Настоящей "одновременности" там нет. Хотя согласен, с прикладной точки зрения и "псевдо" бывает очень даже кстати. Которая "на глаз" будет выглядить как "многозадачность".
программируешь без delay, и будет тебе многопоточность, в даташите на avr читал, что на переключение из цикла в цикл, ровно как и запуск цикла, тратится 4 такта,
18 миллионов тактов не так уж и мало, что-бы был вид многопоточности.
Нет.
Можно сделать только что "на глаз" будет выглядить как "одновременно". Но это уже зависит от умения того кто пишет код. В любом случае в каждый момент времени будет выполнятся только один кусочек кода.
Предвосхищая вопрос "как?". Общего рецепта нет. В каждом случае нужно сочинять финты ушами применительно к конкретной задаче.
У нас стационарные компьютеры распараллеливать нормально не могут, хотя и не одно ядро имеют....
А вы хотите от букашки.
Да нет. На стационарнике как раз "нормально могут". Там есть поддержка на уровне железа. И с этим нет проблем.
Проблемы возникают с разработкой паралельных алгоритмов, которые эту паралельность использовать могут эффективно и безопастно. То есть "узким местом" является скорее средства разработки, методологии и мозги программеров.
Вот тут на форуме, некторые не могут, в голове, прокрутить loop, а что с ними будет если нужно представить взаимодействие во времени 30-ти потоков?
У нас стационарные компьютеры распараллеливать нормально не могут, хотя и не одно ядро имеют....
А вы хотите от букашки.
Lego NXT в среде RobotC поддерживает многопоточность. И это очень иногда полезно...
Что-то сильно сомневаюсь, что там есть реальная многопоточность. Поддерживаемая на уровне железа. Там же вроде 8-битный камушек?
Насколько я понимаю RobotC это интерпретатор. То есть многопоточность "псевдо". Настоящей "одновременности" там нет. Хотя согласен, с прикладной точки зрения и "псевдо" бывает очень даже кстати. Которая "на глаз" будет выглядить как "многозадачность".
Ну так несложный интерпретатор и на Arduino наваять можно, для конкретного случая. Есть для Atmel-а и свои реализации многозадачных "универсальных" OS we.easyelectronics.ru/os-rtos/urtos-sobytiynaya-operacionnaya-sistema-realnogo-vremeni-s-vytesnyayuschey-mnogozadachnostyu-dlya-mikrokontrollerov-avr.html
Вообщем "извратится и сделать видимость одновременности" - можно. Получить "честную" многопоточность - нет.
программируешь без delay, и будет тебе многопоточность, в даташите на avr читал, что на переключение из цикла в цикл, ровно как и запуск цикла, тратится 4 такта,
18 миллионов тактов не так уж и мало, что-бы был вид многопоточности.
То есть?
Привидите пожалуйста простейший пример.. Что имеется ввиду переключения из цикла в цикл?
тоже интересует этот вопрос
слышал, что библиотека для этого уже есть, но пока не искал ее
http://www.freertos.org/a00098.html