Async await, использование - C#

Узнай цену своей работы

Формулировка задачи:

Знатоки, есть ли разница между написанием? Я где-то читал, что второй способ хуже, ибо создается IO поток и CPU, а в первом только IO Первый вариант
 private async void button1_Click(object sender, EventArgs e)
        {
            var soo1 = await Task.Factory.StartNew(One);
            MessageBox.Show(soo1.ToString());
        }
 
        private bool One()
        {
        Thread.Sleep(3000);
            return false;
        }
        }
Второй вариант
 private async void button1_Click(object sender, EventArgs e)
        {
            var soo1 = await Two();
            MessageBox.Show(soo2.ToString());
        }
 
        private Task<bool> One()
        {
         return Task.Run(() =>
            {
                Thread.Sleep(3000);
                return false;
            });
        }

Решение задачи: «Async await, использование»

textual
Листинг программы
using System;
using System.Threading.Tasks;
 
namespace ConsoleApp7
{
    class Program
    {
        static void Main(string[] args)
        {
            var t1 = Method1();
            var t2 = Method2();
 
            Console.WriteLine(t1.Result);
            Console.WriteLine(t2.Result);
 
            Console.ReadKey();
        }
 
        private static async Task<int> Method1()
        {
            return await Task.Run(() => { return 42; });
        }
 
        private static async Task<int> Method2()
        {
            return await Task.Factory.StartNew(() => { return 42; });
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5