async 方法会使用当前上下文中可用的线程池线程执行,而不会创建自己的线程。以下是一个示例代码:
async Task MyMethodAsync()
{
// 执行异步操作,可能包括 I/O 操作、等待、计算等
await Task.Delay(1000);
// 这里的代码会在执行异步操作的线程上执行
}
async Task DemoAsync()
{
// 调用异步方法
await MyMethodAsync();
// 这里的代码还是会在调用 MyMethodAsync 方法的线程上执行
}
在上述示例中,MyMethodAsync 在执行异步操作时,会使用当前上下文中可用的线程池线程。在 DemoAsync 调用 MyMethodAsync 方法时,也会使用当前上下文中可用的线程池线程执行,因此不会创建新的线程。