|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Столкнулся со странным поведением программы. Накидал вот тест: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Цикл отрабатывает мгновенно, что видно по числу в заголовке окна, а вот файлики в папке создаются неохотно, если поставить задержку 1000 то где-то 10 в секунду, если 50000 то примерно один в секунду. Что мешает всем таскам выполниться сразу? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 04:42 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlЧто мешаетsleep, размер пула, накладные расходы на параллельность ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 07:20 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlЦикл отрабатывает мгновенноа почему должно быть иначе, он же не ждет выполнения задач ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 09:00 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsql, было бы странно, если бы не было так ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 09:43 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Я почему-то думал что таск это тоже что и поток, только в "улучшенном" виде. Для чего тогда эти таски? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 13:05 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlЯ почему-то думал что таск это тоже что и поток, только в "улучшенном" виде. Для чего тогда эти таски?делаь потоки, только в улучшенном виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 13:20 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Petro123делаь потоки, только в улучшенном виде.нет таск не эквивалентен потоку ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 13:59 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlЯ почему-то думал что таск это тоже что и поток, только в "улучшенном" виде. Для чего тогда эти таски? Если 100 потоков одновременно будут что-то делать нагружая проц, то на каждый логический проц будет 10+ потоков и все будет тормозить из-за постоянного переключения контекста потоков. Т.е. существенная часть работы проца будет связана с диспетчеризацией потоков. Более эффективная стратегия использовать столько потоков, сколько лог.процов. В реале можно чуть больше, т.к. поток может приостановиться ожидая ответа диска/сети и т.п. Поэтому запускается столько тасков сколько разрешено запускать параллельно, а остальные ждут и запускаются по мере завершения ранее запущеных. Если не путаю, количество потоков исполняющих такси как-то настраивается, погугли. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:17 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Dima T, Сдается мне, тут что-то еще... Вот в приведенном примере, когда я ставлю задержку 50 сек. почему стартует не какое-то количество, а по одному в секунду? Ведь никакой нагрузки то нет, sleep всего-лишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:31 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Shocker.Pro, - Откуда дети берутся? - Аист приносит. Ты: - нет, их не аист приносит)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:32 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlСдается мне, тут что-то еще..да. Возьми книжку с примером, и выполни пример. Там много чего есть, чем бездумно тормозить поток. Даже есть рекомендация от MS таким деятелям, которые поток тормозят. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:34 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlВедь никакой нагрузки то нет, sleep всего-лишь. Управляя тасками извне непонятно sleep() у тебя выполняется или майнинг идет со 100% нагрузкой на проц. Правило построено на среднестатистических наблюдениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:40 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Dima T, Понятно. Переделал программу на потоки - все заработало как надо. Хех, а в каком то описании читал, мол потоки вчерашний день, а таски крестиком вышивать умеют и пиво приносят. А они вон оно как - пока не пнешь не полетит. Не для меня они вобщем... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:43 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlПонятно. Переделал программу на потоки - все заработало как надо.Можно было просто запускать Task с LongRunning опцией, тогда потоки брались бы не из пула. Но что так, что с тредами - подход плохой - ты создаешь потоки, которые ничего не делают, зато жрут ресурсы как не в себя. Лучше использовать асинхронный ввод-вывод на стримах. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:52 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlХех, а в каком то описании читал, мол потоки вчерашний день, а таски крестиком вышивать умеют и пиво приносят.так и есть, ты просто не удосужился изучить вопрос ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:53 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Petro123Shocker.Pro, - Откуда дети берутся? - Аист приносит. Ты: - нет, их не аист приносит))))пора взрослеть ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 14:53 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Shocker.Proкоторые ничего не делают, зато жрут ресурсы как не в себя. Я так понимаю, ты за локальные ресурсы переживаешь... У меня же потоки лезут "в эти ваши интернеты" и в основном ждут ответа в следующей серии... Просто я, поверив рекламе, решил что таски лучше будут. а какой мне с них смысл, если на потоках программа отрабатывает уже тогда, когда таски только начинают "раскачиваться" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:09 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlПросто я, поверив рекламе, решил что таски лучше будут. а какой мне с них смысл, если на потоках программа отрабатывает уже тогда, когда таски только начинают "раскачиваться"Если ты не умеешь пользоваться инструментом, это не значит, что он плохой. Тогда непонятно, зачем ты спрашиваешь совета. iskatelsqlУ меня же потоки лезут "в эти ваши интернеты" и в основном ждут ответа в следующей серии... Еще хуже, если ты это сделаешь с помощью потоков, а не с помощью асинхронного программирования. Совет - забудь слово Thread и изучай тему. Не хочешь - пили как хочешь, но не спрашивай, как правильно ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:17 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Shocker.ProСовет - забудь слово Thread и изучай тему. И с какого бока ее начать изучать? Вот код у меня как в примере. только вместо sleep обращение к серверу, с его таймаутами. И тупила программа так же как в примере. Ну задал я тут вопрос, получил первых три очень многозначительных ответа, понял что полез не туда и протоки наше все. Теперь ты говоришь что вроде как изначальный подход верный был. Но он же не работал как надо... Ничего не понимаю (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:22 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlИ с какого бока ее начать изучать?с теории. Есть книжки такие, учебниками называются. iskatelsqlВот код у меня как в примере. только вместо sleep обращение к серверу, с его таймаутамиОбращение может быть разное и я подозреваю, что обращаешься ты к синхронным методам вместо асинхронных. Ты же не приводишь свой реальный код, но требуешь ответов. iskatelsqlНо он же не работал как надо...еще раз. Не он не работал как надо, а ты не понял, как правильно им пользоваться ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:40 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Shocker.Proчто обращаешься ты к синхронным методам вместо асинхронных Ну да, так я с помощью таска и хотел сделать синхронный метод асинхронным, чтоб одновременно выполнялись. А в коде - просто вызов ф-ции из внешней сишной длл, и она либо сразу возвращается либо по таймауту секунд через пять. Можно вполне считать что там sleep(random(от 1 до 5000)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:48 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlА в коде - просто вызов ф-ции из внешней сишной длл, и она либо сразу возвращается либо по таймауту секунд через пять. Можно вполне считать что там sleep(random(от 1 до 5000))iskatelsqlУ меня же потоки лезут "в эти ваши интернеты"то одно, то другое, то третье... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 15:55 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Shocker.Proто одно, то другое, то третье... А что не так? ф-ция то та в интернеты лезет... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 16:02 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
iskatelsqlА что не так? ф-ция то та в интернеты лезет...iskatelsqlи она либо сразу возвращается либо по таймауту секунд через пятьа где она тут лезет. Если СРАЗУ возвращает, значит длительная операция не начиналась. Если таймаут - значит ошибка. А где тут собственно полезная работа-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 16:04 |
|
Почему Task - и так странно запускаются.
|
|||
---|---|---|---|
#18+
Shocker.ProА где тут собственно полезная работа-то? А что ты имеешь ввиду под полезной работой? Ну приконектилась она, скачала пару байтиков и вышла или подождала таймаута и вышла. Ну будь это не внешняя длл, а сокет какой нить, что бы изменилось? Я тебя не понимаю. С потоками то все работает как надо. А ты говоришь что с потоками не правильно, потом говоришь что у меня задача неправильная. Кинь чтоль ссылку на пример того что имеешь ввиду. А то я уже подозреваю что ты из секты "потоки зло" и агитируешь всех использовать таски, пусть даже программа в итоге будет делать не то что изначально задумано :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2019, 16:25 |
|
|
start [/forum/topic.php?fid=20&msg=39803109&tid=1398977]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 243ms |
0 / 0 |