0

我有一个对返回正确数据的数据库的查询

public async Task<IEnumerable<FacturaDeVentaSP>> ConsultaBD(int page, int row)
{           
    try
    {
        using (var connection = new MySqlConnection(connectionString))
        {
            return await connection.QueryAsync<FacturaDeVentaSP>("facturadeventaSP",
                        parameter, commandType: System.Data.CommandType.StoredProcedure);
        }
    }
    catch (Exception ex)
        {
            throw ex;
        }
    }

我想要的是创建 x 个执行线程,并在每个线程内向数据库发出 x 个请求。

Task[] tasks = new Task[countThreads];

for (int i = 0; i < tasks.Length; i++)
{
tasks[i] = Task.Factory.StartNew(()=>new Random().NextDouble());};                
}

我怎么能在每个线程上执行ConsultaDB()方法时间x

4

1 回答 1

-1

而不是Factory,使用Task.Run

Task[] tasks = new Task[countThreads];

for (int i = 0; i < tasks.Length; i++)
{
    tasks[i] = Task.Run(() =>  .... };
}

Task.WaitAll(tasks);
于 2020-06-08T20:15:38.773 回答