Разница между вызовом асинхронного метода и переносом вызова в Task.RunC#

Место общения программистов C#
Ответить
Anonymous
 Разница между вызовом асинхронного метода и переносом вызова в Task.Run

Сообщение Anonymous »

Я пытаюсь написать асинхронное задание, которое выполняется в фоновом режиме. Есть два способа сделать это:

Код: Выделить всё

[Test]
public async Task method1()
{
Task task = run();
await Task.WhenAll(task);
}

[Test]
public async Task method2()
{
Task task = Task.Run(async() =>
{
await run();
});
await Task.WhenAll(task);
}

public async Task run()
{
Console.WriteLine("Current Thread Name: " + Thread.CurrentThread.Name);
// background thread to print numbers with sleep of 1s
await Task.Run(() =>
{
for (int i = 1; i 

Подробнее здесь: [url]https://stackoverflow.com/questions/78698959/difference-between-calling-an-async-method-and-wrapping-the-call-in-task-run[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»