![]() |
Многопоточность в AS3
Есть готовое приложение на AIR с использованием сокета, он может отправлять картинки на сервер.
Проблема : при отправке файла(картинки) все приложение стопориться, до тех пор пока картинка полностью не передастся . Вопрос : как создать отдельный процесс(поток) не в убыток работоспособности целого приложения ? Вопрос #2 : как прикрутить прогресслоадер к передачи по сокету ?(для наглядности) кусок исходника передачи : Код AS3:
|
|
Цитата:
Я могу ошибаться( а так скорее всего и есть ;) ) но прикрутить к отправке по сокету это не прикрутить. Прогулил сразу по этому вопросу так : as3+socket+ worker , не получил чего ожидал... то что я понял: Код AS3:
|
GrafMine,
Worker никак не связан с загрузкой и/или выгрузкой чего-либо куда-либо. Это отдельный экземпляр FP, который можно запустить/убить из данного экземпляра FP и с возможностью общения между такими вот экземплярами. Вы можете передавать данные как с помошью копирования (2 или более потока полностью дублируют объекты, чтобы передавать их друг другу), так и разделяя их между Worker'ами (то есть 2 или более потока одновременно работают с 1 объектом). Можете почитать, например, здесь. Должен заметить что на практике сталкивались с тем, что более 2 потоков (то есть один основной, в котором класс Main, и второй дочерний, запущенный из основного) иметь не стоит, это черевато внезапными падениями плеера на разных операционных системах. PS У сокета вообще-то есть событие на прогресс отправки. И еще - было бы интересно увидеть, как именно вы что-то по сокету отправляете, что у вас все зависает. Что-то мне подсказывает, что отправка по сокету не будет требовать много ресурсов, подозреваю что дело в операциях которые вы выполняете незадолго до отправки (кодирование в jpeg/png например). |
gloomyBrain я обязательно прочту статьи по Вашей ссылке, но у меня возник вопрос по Вашим словам - "более 2 потоков иметь не стоит". То есть, вворкером вообще лучше не пользоваться или я не правильно понял?
|
Akopalipsis правильно понимаешь. Качественных потоков у АС3 нет, воркеры - это поделка на коленке, потому что многие вопили, что дайте нам ПОТОКИ! Полноценных потоков в ближайших версиях ФП не появится. Если только в АС4
|
in4core Спасибо! А то я со вчерашнего дня всё придумываю, где бы их применить:)
|
Цитата:
а на счет события event : outputProgress, работает он у меня как-то "кривовато" показывает всегда 0 и только в начале и все, пример : Код AS3:
|
Цитата:
|
Цитата:
вопрос с OutputProgressEvent.OUTPUT_PROGRESS по прежнему открыт :rolleyes: |
| Часовой пояс GMT +4, время: 09:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.