но справедливо ли предположить, что для Aync httpservice, подобного операциям в flex, внутренне он будет использовать некоторые рабочие потоки для управления асинхронной операцией, а затем вернется в основной поток
Нет.
Обработка данных ответа происходит в том же потоке, что и обновление пользовательского интерфейса. Например, если вы возвращаете 5000 объектов AMF за один вызов, Flash Player десериализует их в потоке, что приведет к зависанию пользовательского интерфейса.
Внутренне браузер может использовать потоки для управления загрузкой ответа с конечного URL. Однако после того, как ответ был возвращен и передан из браузера плагину Flash player, десериализация и обработка этих данных происходит в главном потоке.
Может ли проигрыватель flex / flash одновременно обрабатывать несколько вызовов httpservice? (например, более одной секции данных загрузки пользовательского интерфейса одновременно.)
Да.
Ограничение здесь навязывается браузером в максимальном количестве одновременных HTTP-запросов, которые браузер. Это варьируется от браузера к браузеру, но, вообще говоря, это нормально (и рекомендуется) отправлять несколько запросов к внутренним службам.
Стоит ознакомиться с AsyncToken
, который является основным классом Flex, используемым при обработке одновременных вызовов, обеспечивая соответствие запроса и ответа.
Имейте в виду, что большинство классов во Flex, которые используются для связи с удаленными службами (например, HttpService
и RemoteObject
), предоставляют свойство concurrency
, которое определяет, как объект должен реагировать на множественные одновременные запросы. (Разрешение разработчику явным образом разрешить или запретить его).
Как насчет анимации (например, параллельная анимация) - использует ли Flash Player внутреннюю часть потоков для ускорения графики или все это делается в потоке пользовательского интерфейса?
Это не моя специальность, и кто-то может поправить меня. Однако я считаю, что Flex создает анимации, генерируя серию ключевых кадров, которые со временем изменяют свойства значений в UIComponent, а затем выполняет их. (Выполнение происходит в том же потоке, что и все остальное).
Поэтому анимация Параллеля генерируется путем агрегирования целей для ключевых кадров и их совместного выполнения.
Например: Keyframe n at ms300 = { UIComponent1.x = 300; UIComponent2.y = 300 }