小编Lux*_*ior的帖子

如何在线程或任务中执行异步操作

我需要执行一些需要异步的操作(例如,向数据库中写入内容,并同时从中读取内容,反序列化我从数据库中读取的内容,对那些数据进行处理...等),但是我需要要么在线程上执行,要么在任务上执行,这样我就可以在执行过程中做其他事情。

而且,如果有可能喜欢,总是总是一方面读取数据库,而另一方面则在其中写入数据,那将是非常不错的,我很确定这是可能的,但是我不确定如何实现它,以及什么库/工具/函数...等等

我正在开发控制台应用程序

我尝试了一些类似异步方法的尝试,但是我并不太了解所有命令之间的执行顺序,问题还在于我不太了解async/ await关键字及其Task工作方式,但是我尝试了一点。

我正在研究的实际上是2 Task.Run,一个在数据库方法中写入数据,另一个在数据库Task.Run中读取数据,问题是在这两种方法中,我都具有函数,async然后需要等待它们。在某个地方,因此也需要等待对写入数据或读取数据的调用,但是我不知道如何进行Task.Run async

static async Task Main(string[]args)
{
// Those two tasks need to run at the same time
    Task.Run(() =>
    {
        // Need to be awaited
        var writer = WritingDatabase();
    }

    Task.Run(() =>
    {
        // Need to be awaited as well
        var reader = ReadingDatabase();
    }
}

public async Task<List<Code>> ReadingDatabase()
{
      List<Code> listCode = new List<Code>();
      // Some code
      listCode.Add(await database.ReceiveMessageAsync());
      return …
Run Code Online (Sandbox Code Playgroud)

.net c# asynchronous async-await

1
推荐指数
2
解决办法
113
查看次数

标签 统计

.net ×1

async-await ×1

asynchronous ×1

c# ×1