Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 25.08.2014, 16:20
bulavka вне форума Посмотреть профиль Отправить личное сообщение для bulavka Найти все сообщения от bulavka
  № 1  
bulavka

Регистрация: Jun 2014
Сообщений: 27
По умолчанию Логика многопоточной загрузки.

Здравствуйте!
Хочу сделать загрузку сразу в несколько потоков, задавая их количество через специальную переменную. С помощью цикла создаю нужное количество URLLoader-ов, URLRequest-ов, URLVaribles-ов и пихаю все в нужны массив.. Затем с помощью цикла начинаю загрузку для каждого потока и на каждый вешаю событие COMPLETE.
Но что-то я не так продумал.. Ведь как выполнится функция onComplete мне надо начать снова начать загрузку для этого потока... но как мне узнать, как именно поток закончил свою работу? Подскажите, пожалуйста, все дыры в этой бредовой логике.

Старый 25.08.2014, 17:01
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 2  
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Я прочитал Ваш вопрос и не совсем понял. Вы хотите понять как закончил работать поток, или какой поток закончил работать?
__________________
...вселенская грусть

Старый 25.08.2014, 17:02
bulavka вне форума Посмотреть профиль Отправить личное сообщение для bulavka Найти все сообщения от bulavka
  № 3  
bulavka

Регистрация: Jun 2014
Сообщений: 27
Какой, чтобы снова пустить его в дело и дать ему снова загружать другие файлы.

Старый 25.08.2014, 17:15
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 4  
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Былавка - вам надо понять одно, что многопоточности в AS нет. Есть конечно воркер-класс.. но это совсем другая история. Однако здравствуйте... В вашем случае делается 1 лоадер, а не 100500 в цикле. Дожидаемся окончания загрузки файла по комплит, далее ++ и начинаем следующую. В массив же записываем лишь переменные нужные для новыой загрузки и т.п.
__________________
Марк Tween

Старый 25.08.2014, 17:21
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 5  
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
В обработчике завершения загрузки Вы можете получить ссылку на свой загрузчик примерно так:
Код AS3:
private function onComplete(event:Event):void
{
    var myLoader:{Тип загрузчика} = event.currentTarget as {Тип загрузчика};
}
PS
Когда-то давно я писал аж 2 статьи на схожую тему. Они не очень выдержаны стилистически и все такое, но во вложениях есть код, который может Вам пригодиться. Хотя он так же может быть Вам совершенно непонятен, это нормально потому что он местами запутан =)

Ниже привожу ссылки:
http://www.flasher.ru/forum/blog.php?b=610
http://www.flasher.ru/forum/blog.php?b=611

Добавлено через 6 минут
in4core - Вам понять надо, что загрузкой занимается не AS-код, и загрузка вполне себе может идти в несколько потоков. Однако здравствуйте... В вашем случае закрывается вкладка браузера и заканчиваются вредыне советы. Можно еще подумать перед излиянием всякой ерунды на публику.
И, да, чтобы окончательно нас всех убедить в своей компьютерной грамотности, покажите пожалуйста как записывать переменную в массив.
Спасибо.
До свидания =)
__________________
...вселенская грусть

Старый 25.08.2014, 17:28
bulavka вне форума Посмотреть профиль Отправить личное сообщение для bulavka Найти все сообщения от bulavka
  № 6  
bulavka

Регистрация: Jun 2014
Сообщений: 27
Цитата:
Сообщение от in4core Посмотреть сообщение
Былавка - вам надо понять одно, что многопоточности в AS нет. Есть конечно воркер-класс.. но это совсем другая история. Однако здравствуйте... В вашем случае делается 1 лоадер, а не 100500 в цикле. Дожидаемся окончания загрузки файла по комплит, далее ++ и начинаем следующую. В массив же записываем лишь переменные нужные для новыой загрузки и т.п.

Неее... это слишком долго)
На самом деле, все так и есть на данный момент, но хочется ускорить

Старый 25.08.2014, 17:41
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 7  
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
я для себя такой велосипед писал. где-то слышал, что в браузерах вроде ограничение на 4 одновременных потока загрузки, но практически эту возможность почти не использовал.
__________________
сайт, vk

Старый 25.08.2014, 17:41
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 8  
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Цитата:
многопоточности в AS нет.
А разве ,браузер не грузит одновременно несколько файлов? В некоторых случаях as3 и синхронность все же существует.

Старый 25.08.2014, 17:44
bulavka вне форума Посмотреть профиль Отправить личное сообщение для bulavka Найти все сообщения от bulavka
  № 9  
bulavka

Регистрация: Jun 2014
Сообщений: 27
Цитата:
Сообщение от olexandr Посмотреть сообщение
я для себя такой велосипед писал. где-то слышал, что в браузерах вроде ограничение на 4 одновременных потока загрузки, но практически эту возможность почти не использовал.
Мне локально надо, надеюсь, что ограничений нет. За Сайт велик спасибо, сейчас посмотрю

Старый 25.08.2014, 19:40
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 10  
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
что в браузерах вроде ограничение на 4 одновременных потока загрузки
Не. Эта цифра очень далека от истины. Ни в одном браузере нет такого ограничения. Это число гораздо больше
__________________
Ко мне можно и нужно обращаться на ты)

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 00:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:05.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.