Size: a a a

2020 January 04

SB

Sergey Benzenko in CODE BLOG / C#
SeanWoo
Так-с...
Смотрите, есть некий код(класс) который выполняется в 100 потоках и он зациклен в while(true), в while помимо кода в конце есть задержка на 10 секунд.

По итогу на данный момент каждые 10 секунд этот код выполняется 100 раз, а время выполнение кода около 0,5 секунды не считая саму задержку.

Как оптимально можно повысить кол-во выполения этого участка кода до 300-400
Смотря что он делает, сколько процессоров, какие общие ресурсы использует и т.д., и т.п.
источник

S

SeanWoo in CODE BLOG / C#
Мне важно чтоб один экземпляр класса выполнял свои задачи 1 раз в ≈ 10 сек
источник

S

SeanWoo in CODE BLOG / C#
Sergey Benzenko
Смотря что он делает, сколько процессоров, какие общие ресурсы использует и т.д., и т.п.
У объекта всё своё, перед запуском ему всё выдается
источник

SB

Sergey Benzenko in CODE BLOG / C#
100 раз?
источник

TC

The Chtulhu in CODE BLOG / C#
Я ведь правильно понимаю: List<T> - это связной список?
источник

S

SeanWoo in CODE BLOG / C#
Никаких общих ресурсов
источник

SB

Sergey Benzenko in CODE BLOG / C#
SeanWoo
У объекта всё своё, перед запуском ему всё выдается
один объект на каждый поток?
источник

S

SeanWoo in CODE BLOG / C#
Sergey Benzenko
один объект на каждый поток?
На данный момент да
источник

S

SeanWoo in CODE BLOG / C#
Мне надо кпд поднять до 300-400
источник

S

SeanWoo in CODE BLOG / C#
Но так чтоб один объект выполнял свой код каждые ≈ 10 сек
источник

SB

Sergey Benzenko in CODE BLOG / C#
300-400 то чего?
источник

S

SeanWoo in CODE BLOG / C#
Sergey Benzenko
300-400 то чего?
300-400 выполнений в 10 сек разных объектов.
То есть за 10 сек чтоб выполнился код у 300-400 объектов
источник

SB

Sergey Benzenko in CODE BLOG / C#
Во-первых, не использовать потоки, а использовать задачи.
источник

S

SeanWoo in CODE BLOG / C#
Sergey Benzenko
Во-первых, не использовать потоки, а использовать задачи.
Серьёзно? Почему?
источник

SB

Sergey Benzenko in CODE BLOG / C#
Посмотрите на Parallel.For
источник

SB

Sergey Benzenko in CODE BLOG / C#
SeanWoo
Серьёзно? Почему?
Потому что создание потока - крайне дорогостоящая операция
источник

S

SeanWoo in CODE BLOG / C#
Я когда-то юзал Задачи, понял что они мне всё тормозят и перестал их юзать
источник

SB

Sergey Benzenko in CODE BLOG / C#
Sergey Benzenko
Посмотрите на Parallel.For
Или даже Parallel.Foreach в вашем случае. Создаёте 300-400 объектов и их в этом параллельном цикле запускаете
источник

S

SeanWoo in CODE BLOG / C#
Sergey Benzenko
Или даже Parallel.Foreach в вашем случае. Создаёте 300-400 объектов и их в этом параллельном цикле запускаете
Опробую
источник

КК

Кракозябр Кракозябро... in CODE BLOG / C#
Там Мамат буянит
источник