【发布时间】:2015-07-10 13:22:15
【问题描述】:
我有 100 个线程,我想确保一次最多三个线程按它们创建的顺序运行。
即
我有从 1 到 100 的数字。我想像下面这样打印它
Thread1
Thread2
thread3
'
'
'
但一次只允许三个线程。一旦完成了 1,2,3 中的任何线程。应该开始按顺序的下一个线程。
我知道我们可以使用 semaphoreslim,但很想知道使用 Mutex 或其他方式的答案。
假设我有一次最多可以处理 3 个请求的应用程序。但我收到 100 个请求,并希望以 FIFO 顺序为它们提供服务,一次最多 3 个。希望这能消除疑虑,
【问题讨论】:
-
Once any of thread from 1,2,3 is completed. Next thread in sequence should start.我不太清楚你要什么。您想按顺序运行 100 个线程吗?如果有,为什么? -
如果线程必须按顺序完成,那么使用它们是没有意义的。
-
Usage of Mutex in c#的可能重复
-
考虑一个场景,我的应用程序收到 1000 个请求,但我想确保以 FIFO 顺序一次只处理 3 个请求。我只是举了一个100个线程和数字的例子。
-
我不确定上述 c# 中 Mutex 的用法。
标签: c# multithreading