c#多线程并发访问数据库怎么实现

avatar
作者
猴君
阅读量:0

在C#中,可以使用Taskasync/await关键字来实现多线程并发访问数据库。以下是一个简单的示例代码:

using System; using System.Threading.Tasks; using System.Data.SqlClient;  class Program {     static async Task Main(string[] args)     {         string connString = "YOUR_CONNECTION_STRING";                  // 创建多个并发任务         Task task1 = AccessDatabase(connString, "Task 1");         Task task2 = AccessDatabase(connString, "Task 2");                  // 等待所有任务完成         await Task.WhenAll(task1, task2);                  Console.WriteLine("All tasks completed!");     }      static async Task AccessDatabase(string connString, string taskName)     {         using (SqlConnection conn = new SqlConnection(connString))         {             await conn.OpenAsync();                          // 在此处执行数据库操作             // 例如:执行查询             using (SqlCommand cmd = new SqlCommand("SELECT * FROM YourTable", conn))             {                 using (SqlDataReader reader = await cmd.ExecuteReaderAsync())                 {                     while (await reader.ReadAsync())                     {                         Console.WriteLine($"{taskName} - {reader["Column1"]}");                     }                 }             }         }     } } 

在上面的示例中,我们通过Taskasync/await关键字创建了两个并发任务,这两个任务会同时访问数据库并执行查询操作。在AccessDatabase方法中,我们打开数据库连接,执行查询并输出查询结果。在Main方法中,我们使用Task.WhenAll方法等待所有任务完成。这样就实现了多线程并发访问数据库的操作。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!