我使用WPF在C#中编写了一个纸牌游戏。我使用后台线程来做它:
await (Task.Run(() => dealCards()));
在 async 方法中延迟发卡。
在 dealCards() 方法中,我使用的结构如下
Action act = () => { ... };
canvasMainArea.Dispatcher.Invoke(act);
当我重新开始游戏并在当前交易尚未完成之前重新兑换卡片时,新线程开始使用旧线程,这些线程未被明确终止,因此交易看起来很混乱。
我的问题是如何终止除主线程之外的所有线程?