奇怪的Task:Task启动Action后 再次创建会失效 !
发布日期:2021-10-02 00:05:36
浏览次数:1
分类:技术文章
本文共 653 字,大约阅读时间需要 2 分钟。
自从有了task以后很少再启动线程Thread了。贴下代码:
比如以前要写成这样:
public void StartMonitor(){ t = new Thread(ParseReceiveData);//创建了线程还未开启 t.IsBackground = true; t.Start(); isStarted = true; }private void ParseReceiveData() { int len = 112; while (isStarted){......}}
现在只要写成这样就好了。
//方式1Task.Factory.StartNew(ParseReceiveData);//方式2Task.Run(()=>ParseReceiveData());
用了很久了,今天碰着问题了。当点击停止以后,再次点击start时,代码不能再次执行ParseReceiveData方法了。
天哪,这难道是bug!!不过用了这么久没有把task,开了,在开过,确实也是第一次这么用结果就触雷了。
尤其是刚开始代码还是这样:parseTask = Task.Factory.StartNew(ParseReceiveData); 那基本上就2次就会有一次
不执行方法。结果一查才知道,Task 就是这样的。以后要想重复执行方法,请使用Timer。
以后记住了! Task 更多使用场合:搭配 await 吧。别哪哪都用!
转载地址:https://blog.csdn.net/jacky_zh/article/details/106690364 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月01日 20时10分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode 1453. 圆形靶内的最大飞镖数量(几何题)
2019-04-28
LeetCode 372. 超级次方(快速幂)
2019-04-28
LeetCode 393. UTF-8 编码验证(位运算)
2019-04-28
LeetCode 373. 查找和最小的K对数字(自定义优先队列BFS)
2019-04-28
Feature Engineering 特征工程 1. Baseline Model
2019-04-28
LeetCode 417. 太平洋大西洋水流问题(BFS/DFS)
2019-04-28
LeetCode 388. 文件的最长绝对路径(不用栈,前缀和)
2019-04-28
LeetCode 424. 替换后的最长重复字符(滑动窗口)
2019-04-28
LeetCode 416. 分割等和子集(动态规划)
2019-04-28
LeetCode 662. 二叉树最大宽度(递归)
2019-04-28
LeetCode 474. 一和零(01背包动态规划)
2019-04-28
LeetCode 452. 用最少数量的箭打破气球(贪心)
2019-04-28
LeetCode 670. 最大交换
2019-04-28
LeetCode 638. 大礼包(无限背包DP)
2019-04-28
LeetCode 845. 数组中的最长山脉(中心扩展)
2019-04-28