学堂 学堂 学堂公众号手机端

在C#中,可以使用Task和async/await关键字来实现多线程并发访问数据库

lewis 1年前 (2024-04-11) 阅读数 10 #技术

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

usingSystem; usingSystem.Threading.Tasks; usingSystem.Data.SqlClient; classProgram { staticasyncTaskMain(string[]args) { stringconnString="YOUR_CONNECTION_STRING"; //创建多个并发任务 Tasktask1=AccessDatabase(connString,"Task1"); Tasktask2=AccessDatabase(connString,"Task2"); //等待所有任务完成 awaitTask.WhenAll(task1,task2); Console.WriteLine("Alltaskscompleted!"); } staticasyncTaskAccessDatabase(stringconnString,stringtaskName) { using(SqlConnectionconn=newSqlConnection(connString)) { awaitconn.OpenAsync(); //在此处执行数据库操作 //例如:执行查询 using(SqlCommandcmd=newSqlCommand("SELECT*FROMYourTable",conn)) { using(SqlDataReaderreader=awaitcmd.ExecuteReaderAsync()) { while(awaitreader.ReadAsync()) { Console.WriteLine($"{taskName}-{reader["Column1"]}"); } } } } } }

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


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门