我想问一下,Python的Threadpool函数有什么可以替代的吗?我有一个函数,接受一个字符串作为输入,我有一个输入列表。我想要的是在多个线程中执行这个函数(最多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) { /*...*/ }