让我们从一个 UI 线程开始(WPF,WinForms 也可以),UI 线程创建一个后台线程来做一些工作(线程池),完成后后台线程更新 UI(使用调度程序)。UI 线程与后台线程共享资源,需要在后台线程完成其进程时将其处理掉。
实现这一目标的最佳方法是什么,我们是否在后台线程完成工作时从后台线程本身处理资源?如果是这样,我们无法在创建线程后使用来自 UI 线程的资源,因为我们不知道后台线程何时完成,反之亦然。(并且这里没有可用的异步/等待功能)。由于我们在这里处理 UI 线程,因此需要始终保持 GUI 处于活动状态。