c# task与 async/await区别

看似功能相同的东西,实际内部原理不同,task是一个真正的线程,首先都是来自同一个命名空间,task还更下一级.

c# task与 async/await区别_第1张图片

c# task与 async/await区别_第2张图片

 task更强调线程,在该线程内执行程序。而async/await更侧重返回的结果集,一般用来取值用,比如:

public Task test()
            {
            return Task.Run(() => { 
                Thread.Sleep(2000);
                k++;
                btnTradeSetting3.Content = k;
            });
        }

 

        private async Task testString()
        {
            return await Task.Run(() =>
            {
                Thread.Sleep(5000);
                return "test";
            });
        }
        private   async void btn_ClickAsync(object sender, RoutedEventArgs e)
        {
            btn.Content = await testString();
        }

你可能感兴趣的:(c#,c#,javascript,开发语言)