我想问一下Python的Threadpool函数是否有替代方案。 我是 C# 的新手。我有一个将字符串作为输入的函数,并且我有一个输入列表。我想要的是在多个线程(最多 12 个)中执行该函数,以便每个线程从列表中输入一个字符串,如果列表的大小大于线程数,则它等待任何一个线程完成其执行,然后在具有下一个输入的线程中再次启动该函数。希望这个问题对大家有意义。
我已经用 Python 完成了这个:
def myfunc(input):
print(input)
if__name__ == "__main__":
inputs = [1,12,2,3,4,5,6,7,8,9,1,0,1,2,3,4,5,6,4,8,97,7]
ThreadPool(12).map(myfunc, inputs)
最佳答案
static void Main()
{
var inputs = new[] { 1, 12, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 2, 3, 4, 5, 6, 4, 8, 97, 7 };
Parallel.ForEach(inputs, new ParallelOptions { MaxDegreeOfParallelism = 12 }, MyFunc);
}
static void MyFunc(int value) { /*...*/ }
关于python - C# 相当于 Python 的 ThreadPool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62282760/