好的,自从我真的不得不动态地使用很多线程以来已经有一段时间了。
基本上情况是:
我有一个来自数据库查询的大集合,过分地说,100 万行已返回并存储在某种集合(arraylist、map 等)中。我希望能够获取该集合并将其在线程、进程等之间划分,以便可以有效地完成工作。但是我不想将整个集合平均分成不同的进程。我想说 10 个线程,每个线程可以处理 30 行,当他们完成处理他们拥有的内容时,他们会从原始集合中获取更多行。
这是解决这个问题的第一个想法。我不确定集合到线程的动态分配会是什么样子。我最终希望收集所有单独的流程结果并将它们编译到另一个集合中,以供将来处理。我知道查询结果将是非常多的行,并认为最初动态地将部分分配给线程并在它们完成任务时将是处理此问题的最佳方法。
这是一个两部分的问题。一,什么会......说......伪代码看起来像这样?第二,这是处理这种情况的最佳方法吗?
任何帮助将不胜感激。哦,我正在考虑为此使用 C#。
谢谢!