async await 同步方法调用异步方法死锁
时间: 2023-10-21 21:30:18 浏览: 155
在使用 async/await 时,如果我们在同步方法中调用了一个异步方法,并在异步方法返回之前等待它完成,那么就会发生死锁。
这是因为在同步方法中等待异步方法完成时,调用线程会被阻塞,而异步方法需要在另一个线程上执行才能完成。但是,由于调用线程被阻塞了,异步方法就无法获得执行的机会,从而导致死锁。
为了避免这种情况,我们应该在异步方法上使用 await 关键字,而不是在同步方法中直接等待异步方法完成。这样可以让异步方法在另一个线程上执行,而不会阻塞调用线程。
阅读全文