Comments 2
Расскажите в комментариях как вам статья, примеры?
Статья убогая, ничего не прояснила, полна грязи. Под картинкой - алгоритм выполнения чего? А должно было быть очевидно с первого взгляда - на main история не заканчивается.
Ага, MicroTasks не пустой - ладно, run microtasks значит. Но если множественное число, то сколько? Если run все что есть - какой смысл возврата к проверке пустой ли? Если не все, то сколько?
И самое интересное в этой схеме - если чудо никак графически не выделенного Event Loop разворачивается после main, то как приложение типа Flutter может ждать событий? Такое на следующие статьи оставлять нельзя.
И либо пишем про идею параллелизма полно и правильно, либо не пишем вообще, полагая её известной. А объяснения на примере человека - отписка.
Цикл обработки событий EventLoop от Dart похож на Javascript тем, что в нем есть две очереди FIFO: «Очередь событий и очередь микрозадач».
А вот после этого - либо пишем ещё столько же текста про JavaScript, либо идею паралеллизма уж точно полагаем известной, либо не упоминаем JavaScript вообще.
Везде кричат про многопоточность в Dart, хотя он не является таковым. Давайте разберемся, почему так происходит.
Ни что происходит, ни почему не разобрались. Причины, сдаётся мне, тому изобильны, и необходимость того для рассмотреть и Event Loop, и Isolates, и насколько Dart может работать интерпретатором одновременно - среди них не последняя.
1.0 Асинхронность. Event Loop, MicroTask и Event в Dart