关于[.NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件]的摘要:
你可以使用临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphores)和事件(Event)来处理线程同步。然而,在编写一些异步处理函数,尤其是还有 async 和 await 使用的时候,还有一些更方便的类型可以用来处理线程同步。使用 TaskCompletionSource,你可以轻松地编写既可以异步等待,又可以同步等待的代码来。
原文地址: https://walterlv.com/post/use-task-completion-source-as-await-locker.html