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; });
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д