Re[13]: Обработка ошибок
От: Terix  
Дата: 27.09.17 07:00
Оценка: :)
Здравствуйте, AlexRK, Вы писали:

ARK>Здравствуйте, vsb, Вы писали:


GZ>>>>Остаток процедуры будет запущен после выполнения асинхронно функции

MTD>>>Вот это и есть синхронный код, да он притворяется асинхронным, но сущность его именно такова.
vsb>>Всё наоборот. Это асинхронный код, который притворяется синхронным.

ARK>Семантически этот код — именно синхронный. То, что компилятор где-то внутри генерит — это просто деталь реализации и не более. Если я возьму другой компилятор, который будет создавать синхронный код в этом месте, то не изменится НИЧЕГО — ни код, ни поведение программы.


Нет, это не так. Синхронный код заблочит поток и будет ничего не делать и ждать, ждать, ждать и так пока не закончится вызов something(), после чего перейдёт к следующей строке. Между something() и следующей строкой не вклинится другой код. А асинхронный код вернёт управление сразу, сразу начнёт выполняться какой-то там другой код, а то, что после вызова something(), выполнится отдельно потом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.