我有一个看起来像这样的方法:
public void SomeMethod()
{
foreach (SomeModel x in TheListOfSomeModel)
{
do some work
....
if (SomeCondition)
{
x.ExecuteQuery();
}
}
}
基本上,SomeModel
有一个运行更新查询的方法,该查询将对象的属性存储到数据库的字段中。由于代码是当前编写的,如果查询需要运行,整个循环将暂停,直到查询完成。如果 if 有任何用处,TheListOfSomeModel
中只有 5 个元素。
除了使用 Parallel ForEach
之外,我如何更改它以便 x.ExecuteQuery()
在单独的线程上运行?
谢谢。
最佳答案
您可以像这样将其作为任务运行...
Task.Factory.StartNew(() => x.ExecuteQuery());
关于c# - 多线程 : starting a thread to execute a query while another process keeps going,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992867/