Что происходит с потоком кода при вызове слушателя AS3?

Чтобы быть более конкретным, я хочу знать, что происходит со следующим кодом, когда вызывается слушатель для обработки этого события в AS3. Фактически, прерывается ли поток, пока функция handleAnyEvent() запущен или если поток продолжается, вызывая другие функции, пока handleAnyEvent() работает в другом потоке. Кто-нибудь может объяснить точный поток этого кода?

anything.addEventListener(Event.ANY_EVENT, handleAnyEvent);
function handleAnyEvent(e:Event):void{
//Do something here
}

anything.dispatchEvent(new Event(Event.ANY_EVENT));
somefunction();
otherfunction();
examplefunction();

2 ответа

Решение

Да, dispatchEvent блоки. Однако предполагается, что обработчикам событий потребуется тривиальное количество времени, поскольку ActionScript имеет несколько способов выполнения нетривиальных операций блокировки, таких как ввод / вывод.

Flash работает в одном потоке. (да, есть рабочие, но это не то, что система событий использует по умолчанию)

Другие вопросы по тегам