我有以下代码,它需要很多时间。我想有4个线程从文件中读取ID,然后转储由ConnectToServiceAndDump完成的详细信息。由于所有id都是唯一的,所以我可以用4个线程拾取4个唯一id并调用ConnectToServiceAndDump。
我尝试过线程类将线程数设置为4,但如果我将其保持在while循环中,则无法实现。我还是个线程新手,所以不确定什么是正确的方法。
或者类似这样的方法:
//- create a list.. which contains all the ids
//- create a new thread
//- in a theard safe way pop a loan from list
//- dump this id by calling service in the same thread
//- use ConcurrentQueue(T) and Enqueue
using (StreamReader sr = new StreamReader($@"{File}"))
{
var ids = sr.ReadLine();
while (ids != null)
{
ConnectToServiceAndDump(client, ids, outputSubdirectoryName);
ids = sr.ReadLine();
}
}