ожидание return или продолжение выполнения loop() ?
- Войдите на сайт для отправки комментариев
Сб, 17/01/2015 - 14:39
Приветствую.
Вот возник вопрос, а проверить пока не на чем:
void loop() { int i = foo(); bar(); } int foo() { .... delay(1000); return 1; }
в данном коде метод bar() выполнится, после того, как i получит значение метода foo() или нет, не будет ждать?
Спасибо
проверил на эмуляторе... ждет выполнения foo()
Очень оригинально :) Откуда вопрос на очевидный ответ. Распараллеливание процессов - отдельная стезя программирования. Которая будет очень сильно заметна в коде. Последовательность действия процессора, как правило, очевидна , это строгая последовательность действий. Обращение к процедурам и функциям, есть отсылка к некоеу куску кода, который пока не выполнится не отдаст управление назад. Представьте, вы читаете книгу, в тексте встречаете сылку на другую статью, вы сможете понять, что в другой статье не прочитав ее- НЕТ, вы сможете одновременно читать две статьи- НЕТ. Вы можете отвлечься от основной статьи, перейти по ссылке, проситать ссылку, по окончании ее чтения вернуться к предьидущему тексту с того момента когда вы прекратили чтение -ДА.
На самом деле, для кого-то может быть и не очевидный. Если человек до этого писал что-то, например, на VHDL - так у них там, понятно, совсем другие законы. Так что, можно и запутаться с непривычки. :)
ну мало ли нюансов бывает, хотел уточнить о возможностях.
Спасибо