Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2013, 17:04   #1
Dizelektwo
Пользователь
 
Регистрация: 05.04.2012
Сообщений: 56
По умолчанию Вопрос по портам

Здравствуйте!
Регулярно приходится слышать о многопоточных загрузчиках и это не может не вызывать удивления. В общем вопрос такой:

Есть порт куда происходит запись и откуда происходит чтение(в уровень ndisов углубляться не буду.) Собственно порт - это ресурс системы к которому есть доступ у приложения которое его собственно резервирует.
И так, допустим у нас есть многопоточный загрузчик - какой может быть прирост в скорости download'a если потоки читать параллельно из сокета информацию не могут? Т.е есть та же очередить, некоторый пул "читающих". Т.е цельный stream ну ни как не может уступить в скорости многопоточному приложению. По идеи.

И везде - многопоточность, многопоточнсоть. Ну а понт? Я понимаю если процесс загрузки распараллелен по 5 портам 5 процессами и они подгружают некоторый файл с разных ресурсов(что исключает блокировки и дает гешефт из-за большего выделения процессорного времени системой для задачи, а так же из за отсутствия задержек при получении пакетов) или же, на край, если процессор грамотно раскидывает потоки на свои 2-4 ядра и за счет этого суммарно больше квантов времени достается задаче операции чтения, естественно.
Да и то- много ли выиграет загрузчик скорости в последнем варианте?

Ну а какой может быть прирост на однопроцессорной, одноядерной машине при использовании мультипроцессинга при загрузке некоторого файла?

Может вопрос и дебильный, но все же хотелось бы услышать мнения грамотных людей которые хорошо понимают сетевую архитектуру.
Спасибо.

p.s

То что архитектура tcp протокола позволяет одновременно писать и читать - я знаю. вопрос о другом.

p.p.s

Да, что ж я такой категоричный- некоторые многоядерные процессоры тоже неумеют действительно распараллеливать треды.

Последний раз редактировалось Dizelektwo; 15.05.2013 в 18:20.
Dizelektwo вне форума Ответить с цитированием
Старый 14.06.2013, 05:38   #2
microbit
Форумчанин
 
Аватар для microbit
 
Регистрация: 26.09.2011
Сообщений: 176
По умолчанию

Если я правильно понял вопрос, многопоточная загрузка использовалась для обхода ограничения сервера на скорость для одного потока , как помню в хедере http можно передать с какого места качать файл , соответственно можно организовать многопоточную загрузку , или продолжить качать с места обрыва.
microbit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ соединение по портам сервера FENnigga C/C++ Сетевое программирование 0 08.03.2013 16:44
Литература по виртуальным com портам. vovken1997 Общие вопросы Delphi 2 24.02.2012 08:23
Обращение к портам. Asgard-jedi Помощь студентам 5 09.06.2011 20:11
Каким образом процессор обращается к портам Ivan_32 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 30.07.2009 12:29
Доступ к физическим портам LPT,COM,PCI... Iotun Помощь студентам 2 08.10.2007 16:00