|
|
|
|||||||
| Знаете ли Вы, что ... | |
| ...для каждой темы существует свой раздел. Изучите структуру форума. Если соответствующего раздела нет, то всегда есть раздел "Разное" :) | |
| << Предыдущий совет - Случайный совет - Следующий совет >> | |
| Разминка для мозгов Загадки, задачи, головоломки - тренируем мозг |
| Ответить |
|
|
Опции темы | Опции просмотра |
|
|
#11 |
![]() |
Начнем с одного потока (это в частности работает в Узбекистане):
Пусть для начала нам нужно скачать кусочек А. Тогда как только мы просмотрим кусочек А (а на это нужно A/W времени и за это время успеется скачать еще A*(V/W) часть файла). Пока будем смотреть A*(V/W) часть файла скачается еще A*(V/W)^2 часть файла. При непрерывном времени и бесконечно делимом размере файла следовательно в улових задачи мы имеем: M = A * (1+(V/W)+(V/W)^2+...+(V/W)^N+...) = A / (1-V/W) Следовательно первый кусок, который должен быть оптимально считан будет равен А = M * (W-V) / W. Следующий кусок надкоторым следует сконцентрироваться - это А = M * (W-V) / W * (V/W) и т.д. Однако это при непрерывном времени и при бесконечно делимых кусках, а у нас, как правильно указал Герман, есть органичение на минимальный размер блока Q, который можно считать одним потоком.
__________________
Тот факт, что медуза выжила 650 миллионов лет без мозгов, даёт надежду многим. |
|
|
Ответить |
|
|
#12 |
ex-wild_JohnСупермодератор |
Моё предложение, мысленно разбить файл на блоки по Q:q1,q2,q3... Каждый из N потоков скачивать первые блоки фильма. То есть, первый поток качает блок q1, второй - блок q2, третий - блок q3. После завершения закачки потоком, запускать поток, который будет качать блок qx, блок с минимальным номером, который ещё не закачен и закачка которого не происходит в настоящее время.
Просмотр фильма можно начинать, когда полученный объём составит (1-V/W)*объём файла.
__________________
Герман - это не имя, это особое состояние души (Джим Анджер) |
|
|
Ответить |
|
"+" от:
|
|
|
#13 |
![]() |
Согласен - это решение в данном случае.
Нужно было указать, что открытие и закрытие потока стоит времени. Возможно правильно поставленная задача была бы - минимизировать число потоков, и при этом соблюсти условия, что читать файл можно с момента M*(1-V/W) + O(M,Q).
__________________
Тот факт, что медуза выжила 650 миллионов лет без мозгов, даёт надежду многим. |
|
|
Ответить |
|