c#用异步线程和定时器 实现每隔1秒查询一次数据库的数据,其中异步线程负责查出结果,更新数据,sleep1s,继续
时间: 2024-03-03 12:49:06 浏览: 151
C#多线程学习之(五)使用定时器进行多线程的自动管理
可以使用以下代码实现:
```csharp
using System.Threading.Tasks;
public async Task QueryDatabaseAsync()
{
while (true)
{
// 异步线程查询数据库
var results = await Task.Run(() =>
{
// 查询数据库的代码
});
// 更新数据
// ...
// 等待1秒钟
await Task.Delay(1000);
}
}
// 在程序启动时启动查询
public void StartQuery()
{
Task.Run(() => QueryDatabaseAsync());
}
```
这里使用了异步线程和定时器的结合。异步线程负责查询数据库,查询结果会通过 `Task.Run` 方法返回。然后更新数据,最后等待1秒钟后再次查询。在程序启动时,可以调用 `StartQuery` 方法启动查询。
阅读全文