我是一个在数据库中插入异步的函数。 ,该函数是在后台传输状态调用时调用的,有时会导致死锁
await vm.InsertVerseDownloadProgress_Bulk(tracks.Cast<QuranVerseTrack>().ToList()).ConfigureAwait(true);
await vm.InsertVerseDownloadProgress_Bulk(tracks.Cast<QuranVerseTrack>().ToList()).ConfigureAwait(false);
await vm.InsertVerseDownloadProgress_Bulk(tracks.Cast<QuranVerseTrack>().ToList()).ConfigureAwait(true);
我不确定使用哪一个
答案 0 :(得分:0)
ConfigureAwait(true)是默认值,会导致您的任务编组回到它所启动的线程。
死锁主要是由于在UI内部等待结果导致的(等待,而不是等待;通过调用task.wait或task.result)。
如果没有进一步的背景,你的问题就无法回答。