您好,我是 C# .net 中的多线程和任务的新手,仅帮助我成功启动了一个新任务,可以使用以下命令继续在后台运行:
//if(tsk =NotRunning){
tsk = Task.Factory.StartNew(TheMethod);
它现在工作正常,但现在当它开始时无法停止它,我一直在搜索msdn,发现一些似乎在做这项工作的方法,比如Dispose
购买他们没有做,所以我想知道两个事物:
如何检查此任务是否已在运行?(这是一个 MVC 项目,任务是通过控制器调用启动的,
…/Task/Start
所以我不想在每次访问此 URL 时都继续启动任务的另一个实例,我只希望在后台运行的整个应用程序中只有一个实例)其次,我该如何阻止它,我尝试了以下但没有奏效:
public void TaskClose() { tsk.Dispose(); var st = tsk.Status.ToString(); }
我知道互联网上可能没有关于它的答案,但他们主要使用 Lambda 表达式,我对他们不是很熟悉,所以请以其他方式提供答案,我什至会感激你能指出我可以使用的权利method
或property
名称完成我的结果。
谢谢你。