今天改写了一个以前的多线程桌面程序,为其增加了暂停和停止功能,然后也就想当然的需要重启,却发现重启过程中遇到这个报错:不能对已完成的任务调用 Start。
对于已经完成的子线程,即使将其赋值为null,也依然无法重新启动。
----------------------------------------
20220410补充解决方案:
1,对于task,单一task对象不能重复使用,因此这里可以考虑不使用全局静态task。
2,对于task的取消控制,也不再使用全局静态变量,替换为在任务开始按钮事件里进行初始化,在停止按钮里用完重置为null,这样就可以实现重新开启task的控制了。
原文地址:
https://www.opengps.cn/Blog/View.aspx?id=933
文章的更新编辑依此链接为准。欢迎关注源站原创文章!