Похожие чаты

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 ответов

15 просмотров

Стикер

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Карта сайта