Asyn c -Ждете в тупик? - PullRequest
       19

Asyn c -Ждете в тупик?

0 голосов
/ 06 января 2020

Я регулярно получаю, как мне кажется, тупик в моем C# коде, который интенсивно использует asyn c -wait. Я иногда получаю это в этой строке кода:

await context.SaveChangesAsync();

Поток просто блокируется на неопределенный срок.

Я не блокирую синхронно где-либо в коде. Я использую asyn c -await до самого верха, где я инициализирую новый фоновый поток, например, из метода ввода, который является синхронным:

var threads =
new ThreadStart[]
{
    async () => await Run(InitiationDelegate),
                    }.Select(ts =>
    new Thread(ts) { IsBackground = true }
);

foreach(var thread in threads)
{
    thread.Start();
}

, а Run имеет следующую подпись:

async Task Run(Func<Task> action)

Я не уверен, откуда могли появиться тупики?

...