使用线程池进行多线程,

时间:2018-08-15 15:17:04

标签: multithreading threadpool

我们有一个客户端应用程序,该应用程序从表中读取数据并将其发送给WCF进行进一步处理。客户端应用每天必须处理300万条记录。为了有效读取300万条记录,我们使用线程池中的线程创建了多线程应用。

例如,如果我们从线程池中拉出3个线程,并给每个线程1000条记录(共3000条)进行处理,然后将其发送到WCF。但是我们等待这3个线程完成其工作,然后只有相同的3个线程(或可能不同)从数据库中提取另外3000条记录。这个周期继续。

我们想要的是使用线程池进行多线程处理,但更像是Parent-Child。因此,主线程从3个线程开始,每个线程被分配1000行。当任何子线程完成工作时,它应返回给父线程以请求更多工作。任何完成工作的孩子都应立即返回服务对象,要求更多。他们不应该等待其他孩子完成工作。

当前方法与新方法的不同之处在于,当前方法中的孩子等待他们所有人完成工作,而新方法希望他们不要等待任何孩子完成工作。他们应该完成工作并回到父母身边

我不知道如何使用线程池线程建立这种关系。我不想创建自己的线程,而是愿意寻找一些指导来帮助我。

谢谢

0 个答案:

没有答案