Похожие чаты

Okay so if I understand you correctly I should just

use my current implementation?
This is how it looks like (i removed some complexity):
// defined before:
void ProcessItem(T item);
ConcurrentQueue<T> queue;

List<Task> tasks = new[];

while (true)
{
tasks.RemoveAll(task => task.IsCompleted);

if (tasks.Count >= 5)
continue;

if (queue.TryDequeue(out T item)
tasks.Add(Task.Run(() => ProcessItem(item)));
}

But I felt like it can be improved, especially since currently I run max 5 threads, but it might could use more or less, which I do not know.

6 ответов

6 просмотров

Стикер

Balte- Автор вопроса

Ok you meant use Channels?

Balte- Автор вопроса

the reader logic would still look like this tho right? since I need to create multiple tasks to read

a channel would already implement the collection anyway what to do depends on how much producers, items, ProcessItem (the consumers), and various threads are independent from each other

Balte- Автор вопроса
luca flan di vedure
a channel would already implement the collection a...

I mean I just wanna process the items in parallel, I dont care about how many threads it uses / tasks it creates as long as it gets done faster than what it is right now. but with channels I still have to manually create the tasks which kind of not solves my problem. I also thought about using Parallel.ForEach

Balte
I mean I just wanna process the items in parallel,...

channel solves the multithreading issue and the managing tasks issue, since you can tell it to have a fixed amount of contemporaneous readers then you know it depends again on a bunch of stuff, what is this processing, how long it takes (100 ms? 1 hour?), or in other words the implementation depends on all the rest of the code

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
9
Anyone else having this error when trying to make transactions?
Datzel
11
Question: How viable is it to use Anvil as the backend infrastructure for managing a TradFi portfolio, while integrating Flexa for instant liquidity and payment solutions? Cou...
Kevin
2
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта