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

Но такое положение вещей меня совсем не устраивает. Если (условно) результат/таймаут 50/50 и таймаут в 10 секунд, то на выборке в миллион получается около трех часов бессмысленного ожидания.

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

PS. про ThreadPool.SetMinThreads я знаю, вот только не представляю как замерить время выполнения таска, "зависшего" в ожидании возврата функции.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061410
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql,
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061421
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

на картинке сам МСУ?
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061423
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql
Есть некоторая длл, в ней функция (если важно - писаная на С++). Функция либо возвращает результат, либо висит по таймауту.
В одном из обсуждений я выяснил, что т.к. таскам совсем не известно что внутри ф-ции творится, они не могут это оптимизировать, а честно ждут когда выйдет таймаут.

Функцию можно запускать параллельно в нескольких потоках? Если можно, то так и делай. Зависла - пусть висит до завершения. Тупо сгенери свой миллион тасков, а они сами разберутся как выполняться.

iskatelsql
Или может на голых потоках что-то такое придумали?

На голых потоках можно извратиться, но скорее всего поимеешь утечку памяти. Вызываешь в потоке свою функцию и в другом ждешь секунду, по истечении если первый не закончил, то убиваешь его. Но, как уже сказал, если функция выделила себе память - она ее не освободит. Освобождение произойдет по завершению твоего процесса.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061427
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, кажется, понял, что за проблему пытается решить автор. Но, надо сказать, если эта ф-ия блокирует вызывающий поток, то все грустно и сделать тут ничего нельзя. Потому что если станешь плодить потоки руками, то у тебя система быстро встанет колом, а если пользоваться пулом потоков, то число параллельных вызовов будет всегда ограничено размерами пула сколько ты задач не создавай. Можно разве что поставить большую ферму серверов и распараллелить вызовы на них :))
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061428
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да имхо обыкновенная квота на поток, выдаешь временную квоту, если поток не справился с работой за эту квоту, (1 сек) поток
грохается и идем дальше.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061432
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи
да имхо обыкновенная квота на поток, выдаешь временную квоту, если поток не справился с работой за эту квоту, (1 сек) поток
грохается и идем дальше.

Только память некому освобождать. У него DLL на С++ написанная.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061436
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,
вам поток надо освободить для следующего джоба, а функция сама сдохноет по таймауту, ну засрем память да бог с ней
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061440
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у CancellationToken'а есть свой Timeout
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061450
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CancellationTokenSource
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061493
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребят, ребят... Поезд не туда пошел. Грохать поток эт не проблема. Эт я и сам справлюсь. Вопрос в том что таймаут должен отработать, поток грохать нельзя. Но в 90% случаев он ничего делать не будет, так что нужно б и другие потоки в это время насоздавать.


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


Да, вот это все правильно!.

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

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


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

И, самое главное. Допустим вы как-то решили проблему. Вернее, думаете (и искренне в это верите), что решили.
Как вы убедитесь?

Начните с тестов.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061502
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Начните с тестов.


Спорное утверждение.

1. я могу тестировать только то до чего я догадываюсь, но спрашиваю я то, чего не знаю.
2. форум вроде как для обмена опытом, если кто-то провел подобное тестирование, то быстрее в космос полетим, если делиться результатами :)

hVostt
TaskCompletionSource и пилите своё неблокирующее асинхронное ожидание.

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

1. я могу тестировать только то до чего я догадываюсь, но спрашиваю я то, чего не знаю.
2. форум вроде как для обмена опытом, если кто-то провел подобное тестирование, то быстрее в космос полетим, если делиться результатами :)


Ну так обмен опытом происходит на каких-то проверяемых ожиданиях и результатах.

Если это обмен фантазиями -- к опыту это не имеет никакого отношения.
Например, я вам скину модель бубна на алиэкспрессе, в который я стучу и у меня всё работает -- это похоже на ваши представления об обмене опытом? :)

iskatelsql
Звучит красиво, но будет оно именно так работать, или те же яйца, только в профиль, встанет ожидать и займет место в пуле?


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


Как бы TCS может помочь в решении этой проблемы, опять же, если это проблема.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061506
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Если это обмен фантазиями -- к опыту это не имеет никакого отношения.


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

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


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


На голой Вере я скорей с ней чем-то другим займусь. Интересная девиация - на голой бабе программировать...

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

Делюсь с вами опытом.
Начинайте с проверки.
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #40061523
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
iskatelsql,

Делюсь с вами опытом.
Начинайте с проверки.

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


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

Закончить разговор, точнее поставить на паузу, пока кто-то не придет и скажет "да это все фигня, я вчера так делал, нужно лишь три раза в день..."
...
Рейтинг: 0 / 0
Как управлять тасками или потоками?
    #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
Как управлять тасками или потоками?
    #40062328
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
трудно понять
вот с тасками
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 static void Main(string[] args)
        {
             //ThreadPool.SetMinThreads(100, 100); // 100 ядерный процессор
             while (1 == 1)
             {
                 //Console.WriteLine(++_indexRun);
                 Task.Run(() => { Job(++_indexRun); });
             }
        }

        static int Job(int run)
        {
            Thread.Sleep(2000);
            Console.WriteLine($" job {run} done");
            return run;
        }


ну тут в конце концов не хватит памяти для списка делгатов и кватирование выполнения партикулярное.
вот просто с нативными тредами
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 class Program
    {
        private static int _indexRun;
        static void Main(string[] args)
        {
            while (1 == 1)
            {
                new Thread(() => { Job(++_indexRun); }).Start();
            }          
        }

       static int Job(int run)
        {
            Thread.Sleep(2000);
            Console.WriteLine($" job {run} done");
            return run;
        }
    }


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


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