同时运行几次方法

时间:2016-09-22 03:02:44

标签: c# threadpool

我在Windows窗体应用程序中有一个类,它接受一个用于调用web api的文件名,返回一些数据并将其插入数据库。在确定一组文件名后,我在我的主类中调用它。当我运行程序时:

foreach(String M_file in files)
{
   FileTODataBase ftb = new FileToDataBase(M_file);
}

工作正常。如果我将FileToDataBase移至method(object a)并在循环中调用ThreadPool.QueueUserWorkItem(method, M_File);

foreach(String M_File in files){
    ThreadPool.QueueUserWorkItem(method, M_File);
}
private void method(object a){
   String M_Files = a as String;
   FileToDataBase ftb = new FileToDataBase(M_Files);
}

它仅适用于我的6个文件的测试文件夹。在800多个项目的完整文件夹上运行时,它似乎没有做任何事情。它不冻结只是似乎没有做任何插入或调用api的实际工作。我已经阅读了一些关于使用线程池和任务的其他帖子,但是无法让任何实现工作。

0 个答案:

没有答案