powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как управлять тасками или потоками?
25 сообщений из 51, страница 2 из 3
Как управлять тасками или потоками?
    #40061544
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи
давай Теее код, накидайТе консольку

де нет какого-то особого кода, прост вызов ф-ции. Thread.Sleep отлично может ее имитировать, если хочется поиграться
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061561
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql
... если бы была возможность измерить время работы таска, то можно руками увеличивать пул через секунду и уменьшать при выходе таска.

Task.Wait()
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061585
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql
Thread.Sleep отлично может ее имитировать, если хочется поиграться

Малыш, ты меня пугаешь(с)
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061609
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql
hVostt
Ну чего же тогда делать предлагаете? :)

Закончить разговор, точнее поставить на паузу, пока кто-то не придет и скажет "да это все фигня, я вчера так делал, нужно лишь три раза в день..."


я вчера так делал, нужно всего лишь написать тест, проблемный сценарий и добиться успешного прохождения теста.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061672
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
iskatelsql
... если бы была возможность измерить время работы таска, то можно руками увеличивать пул через секунду и уменьшать при выходе таска.

Task.Wait()

Да у человека совершенно другая проблема. Если я правильно его понял. Он просто, похоже, не может её донести доносчиво. И я уже выше объяснял почему его проблема не решабельна. Таски, вейты, комплишены и прочая шляпа тут никак не влияют.

Если у тебя какая-то левая функция, которая при вызове тупо блочит поток, то ты никак это не распараллелишь больше чем на число потоков которые у тебя в наличии. Все. Конец сказке. Хоть во что это дело заворачивай через количество потоков ты не перепрыгнешь.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061688
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
у него таймаут 10 сек, он хочет после 1 сек валить дальше.
один таск в вайтом в нем воркер с рабочим таском ( с функцией)
стреляй вайты получтай результат максимум ~ 12 потоков будет висеть одновременно, при синхронном проходе сверху в низ. ( слону доробина)
он просто не знал как свалить через 1 сек если таймаут,
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061697
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи
у него таймаут 10 сек, он хочет после 1 сек валить дальше.

А, опять-таки, куда "валить дальше", если свободных потоков нет? У него, походу, просто какое-то слабое понимание, как все это на уровне ОС работает.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061702
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
ой беда беда размер пула 20 потоков
а свои создать не судьба.
Зы: ах какая рифма, какой стиль !!!
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061705
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи
а свои создать не судьба.

А ты создай "своих" тысячи так полторы, и посмотри, что будет. Умолчательный размер пула не от балды устанавливается.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061708
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

да ладно )
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061710
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Умолчательный размер пула не от балды устанавливается.

Это средняя температура по больнице.
Все зависит от типа задач выполняемых в потоке. Если у тебя код на 100% грузит проц, то тормоза начнутся при количестве потоков больше чем ядер, т.к. будут тормозить ядра обслуживающие несколько потоков, а если там в/в, например запрос к БД, который 99% времени ждет, то тут можно в 100 раз больше потоков нагрузить.

В данном случае ТС хочет добавлять потоки взамен блокированных его функцией. Как понимаю висячие потоки никаких ресурсов не потребляют кроме занятой памяти, т.е. ничем мешать не будут остальным потокам.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061713
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
гы гы а зачем мне тыс потоков? для конкретной задачи и 20 хватает из пула, при синхронном проходе
и то это если все воркеры лягут в таймаут ))
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061715
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Если у тебя какая-то левая функция, которая при вызове тупо блочит поток


Точно тупо блочит поток? )
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061728
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
fkthat
Если у тебя какая-то левая функция, которая при вызове тупо блочит поток


Точно тупо блочит поток? )

Судя по информации от ТСа.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061729
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Как понимаю висячие потоки никаких ресурсов не потребляют кроме занятой памяти, т.е. ничем мешать не будут остальным потокам.

У меня когда-то виндовый сервер при >900 превращался в полное зомби, потому что индийские бараны брамины, которые одну софтину писали, про пул потоков не знали вообще. Потоки были вполне себе I/O без каких-либо вычислений полетов на Марс.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061796
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql
Есть некоторая длл, в ней функция (если важно - писаная на С++). Функция либо возвращает результат, либо висит по таймауту.
В одном из обсуждений я выяснил, что т.к. таскам совсем не известно что внутри ф-ции творится, они не могут это оптимизировать, а честно ждут когда выйдет таймаут.
а они не могут посто интерфейс ожидания выкинуть если уж речь о тасках зашла?
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061878
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Если у тебя код на 100% грузит проц

Вообще ничего не делают, ждут.
Dima T
В данном случае ТС хочет добавлять потоки взамен блокированных его функцией. Как понимаю висячие потоки никаких ресурсов не потребляют кроме занятой памяти, т.е. ничем мешать не будут остальным потокам.

Да


Где-то в степи
он просто не знал как свалить через 1 сек если таймаут,

Писал раньше, свалить нельзя, свалить не проблема, но нужно ждать те, которые ничего не делают, ибо могут и сделать.

fkthat
Он просто, похоже, не может её донести доносчиво.

Ты меня понял и пытаешься донести доносчиво, но что делать, если даже у тебя, завсегдатая, не получается...
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061879
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
а они не могут посто интерфейс ожидания выкинуть если уж речь о тасках зашла?

Не, она левая, без кода и каких-либо контактов с производителем.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40062026
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql,
автор свалить нельзя, свалить не проблема, но нужно ждать те, которые ничего не делают, ибо могут и сделать.
Вот и спрашивается зачем ждать?
Есть такое понятие выстрелил и забыл, запустил задачу - описал что нужно сделать при успешном выполнении и что надо сделать при крахе, и сваливай дальше, задача сама разберется что нужно делать без вас. ( начинающие постоянно тупят над этим)
Относитесь к потока как к работяге ( вот тебе лопата, копай до обеда, сделаешь - распишешься в шурнале и вали домой, не сделаешь
ночуй на стройке) завтра приду проверю.
Хоче ждать жди, а не USB нам мозги...
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40062031
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql
Не, она левая, без кода и каких-либо контактов с производителем.

Можно попробовать перехватить вызов ожидания. Думаю "висит" на каком-то вызове WinAPI функции, вот ее надо подменить на свою и из своей вызывать WinAPI-шную с подправленным таймаутом. Поизучай отладчиком, если так, то как это сделать у Рихтера расписано.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40062149
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще, в контексте задачи где работа может выполняться 10 сек, использовать пул нельзя, имхо забор из очереди
квотируется ядрами процессора ( замаетесь ждать), а поднимать его на постоянку как бы не рекомендуется.
Тут обыкновенный поток будет в тыщу раз уместней.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40062238
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи
Тут обыкновенный поток будет в тыщу раз уместней.


лайкос...

но! как бы человеку лень написать простейший пример, dll на сях, эмулирующий ситуацию и синтетическую нагрузку. делов-то!?

но челу лишь бы потрепаться. как обычно тащемта.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40062261
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Можно попробовать перехватить вызов ожидания

Да можно и гораздо проще, получить статистику через sysyem.diagnostic и по ней уже рулить, подкинуть потоков вместо тех что висят больше секунды. Но как-то колхозно это. Я сюда зашел, чтоб прежде чем велосипед изобретать, узнать что подобного механизма не подвезли в коробке. А то по-дурацки как-то получится :)

hVostt
но челу лишь бы потрепаться. как обычно тащемта.

Ну, велосипеды из костылей я собирать умею. То, что ты называешь "потрепаться" - это после исследования гуглов и форумов последний рубеж - спросить у знающих людей. Мне не нужны примеры кода, мне нужно "знаешь конкретно то, что я спрашиваю - кинь ссылку".
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40062263
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, как водится немного оффтопика:

Придешь неподготовленным - "Да хренли ты сюда пришел, читай мануалы гугли в гугле"
Придешь подготовленным - "Да ты просто поболтать пришел, давай код, ща все разрулим, пофиг что задачу решим не ту, что требовалось"
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40062281
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql
Я сюда зашел, чтоб прежде чем велосипед изобретать, узнать что подобного механизма не подвезли в коробке. А то по-дурацки как-то получится :)

Прервать выполнение кода можно либо изначально заложив в него такую возможность, либо убивать поток.
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 2 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как управлять тасками или потоками?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]