c# - 多线程 : starting a thread to execute a query while another process keeps going

标签 c#

我有一个看起来像这样的方法:

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/

相关文章:

c# - 异步调用时 ILNumerics 内存损坏

c# - 从统一命名空间中的另一个类(在克隆对象上)获取一个函数,c#

c# - 如何使用 Nhibernate(和 Fluent NHibernate)映射类型

c# - MVC Controller 冒泡回到路由器?

c# - .NET 2.0 WebService 在 Xamarin.Forms 默认可移植解决方案中不可用

c# - 如何格式化复杂的数学表达式?

c# - 如何在 UI 线程中工作时更新进度条

c# - 从 .NET WinService 在交互式登录用户下启动程序

c# - 如何在我的自定义表而不是 aspnet 用户中保存带有散列密码的新记录?

c# - 使用 DropDownListFor 添加 'required' 属性