深入分析C#中的异步和多线程
首先,很明显,每个单独的晚餐订单可以由不同的厨师来处理。因此,如果每个厨师都致力于处理这一清单上的东西,几份晚餐订单可以同时做出。这是一个真实世界中的多线程示例。计算机有能力让多个不同的线程同时运行,每个线程负责按特定顺序执行一系列活动。需要明确的是,异步不是多线程的。只要工作是由不受当前代码直接控制的对象完成的,就可以使用异步代码。它只是请求硬件执行该任务。这是.net的一个“Promise”,一旦异步活动完成,它将返回结果,任务对象可以用来访问结果。这是因为.net需要知道这个方法是异步的,它最终会返回一个字节数组。