少有人走的路

勇哥的工业自动化技术网站

C# CancellationTokenSource.Token 取消Task后,不能再次运行Task

全网的教程都是教你怎么用CancellationTokenSource.Token取消Task,就是不告诉你取消Task后,再次运行Task, 仍然是取消状态,Task跑不起来。

而且你想找下Token有没有复位的方法,结果是没发现。


其实,每次使用CancellationTokenSource.Token时都要new一个新的!

勇哥实测是可以的,就这么简单!

真不知道微软是怎么设计的?!



--------------------- 

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!



  • 评论列表
  •  一吻不zhi
     发布于 2022-03-31 01:07:45  回复该评论
  • 楼主说的非常好,我有个问题不解想问一下
    Task T = Task.Factory.StartNew(() =˃
    {
    while (!Source.IsCancellationRequested)
    {
    Thread.Sleep(100);
    Console.WriteLine("当前Thread正在运行{0}", Thread.CurrentThread.ManagedThreadId);
    }
    }, Source.Token);
    这里StartNew的第二个参数Source.Token 不要的话 ,貌似也没啥影响啊,运行结果一样,取消的时候直接Source.Cancle()就行了,为什么我看网友发的例子都加了呢

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2026年1月    »
1234
567891011
12131415161718
19202122232425
262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864