异步编程

异步编程:提升并发效率

让Web服务器处理更多请求,同时处理请求的数量

多线程不等于异步编程 异步编程简化了多线程程序开发

async、await

“异步方法”:用async关键字修饰的方法

1.异步方法的返回值一般是Task,T是真正的返回值类型,例:Task

2.异步方法名字以Async结尾

3.即使方法没有返回值,也最好把返回值声明为非泛型的Task

4.调用泛型方法时,一般在方法前加上await关。这样拿到的返回值就是泛型指定的T类型

5.异步方法的传染性:一个方法中如果有await调用,则这个方法也必须修饰为async

*如果在不能使用异步方法的情况下,可以使用 Result(),Wait(),如果有返回值就使用Result(),如果没有返回值就使用Wait(); 容易导致死锁;

异步委托
C#
static void Main(string[] args)
        {
            ThreadPool.QueueUserWorkItem(async (obj) =>
            {
                while (true)
                {

                    await File.WriteAllTextAsync("C:\\Users\\Dell\\Desktop\\1.txt", "fxxkyou man");
                    Console.WriteLine("fdg");
                }

            });
            Console.Read();
        }
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部