我正在进行一些异步操作,希望使用CancellationToken在用户请求时停止异步任务的运行。为了做到这一点,是否有一个好的实践方法可以使用字典来查找正确的线程以停止正确的操作?我目前正在考虑以下内容:
public Dictionary<Thread, CancellationToken> CancellationTokenData;
因此,如果用户请求取消操作,如果我没有错的话,它应该正确执行,对吧?
有哪些最佳实践方法可以做到这一点?
例如,假设用户在使用线程 {B} 在数据库中的集合 {A} 上执行某些非常耗时的操作,然后取消操作并转而在另一个线程上使用集合 {A} 进行另一个耗时操作。我应该为当前的 CancellationToken
使用全局变量吗?