我需要执行一些需要异步的操作(例如,向数据库中写入内容,并同时从中读取内容,反序列化我从数据库中读取的内容,对那些数据进行处理...等),但是我需要要么在线程上执行,要么在任务上执行,这样我就可以在执行过程中做其他事情。
而且,如果有可能喜欢,总是总是一方面读取数据库,而另一方面则在其中写入数据,那将是非常不错的,我很确定这是可能的,但是我不确定如何实现它,以及什么库/工具/函数...等等
我正在开发控制台应用程序
我尝试了一些类似异步方法的尝试,但是我并不太了解所有命令之间的执行顺序,问题还在于我不太了解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)