c#怎么让程序停止执行?

Mou377 2017-04-01 02:40:20

如截图,"start"开始后,测试开始执行。
(1)点击"All off"测试停止
(2)点击"All on"测试继续执行。
ps:不考虑用 Thread.Sleep(),因为它需要固定的时间。

...全文
1185 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 Mou377 的回复:
3 不管结果是pass 或者fail, 都马上发送第二条指令。
你的这个3,显然缺少考虑。假设暂停,过一会又“继续”,你这个 3 就缺乏设计内涵,不能知道怎样继续。你需要状态数据,能在“继续”时知道什么才是“第二条指令”,从而可以支持“停止/继续”操作。 你这里描述的 3,想当然地说“马上发送第二条指令”。但是这条指令是怎么来的?怎样能保证指令的收、发是异步的,发送过程可以将来想“继续”的时候才继续?这就缺乏委托机制设计。
  • 打赏
  • 举报
回复
设计一个“停止、继续、开始”的状态驱动程序,跟什么“线程”并没有关系。 这里容易滥用线程,不知道线程编程的禁忌。但是这还不是问题的关键。关键在于缺乏状态设计的模式概念。一个任务过程,它应该知道自己当前的状态,能将自己推进入下一个任务。如果没有这个设计模式,你只知道求人帮你“卡死进程”,那就是找各种诡异的东西不惜滥用不该用的东西了。
  • 打赏
  • 举报
回复
引用 9 楼 Mou377 的回复:
简单描述一下(数据是通过串口发送接收的): 1 打开串口,发送第一条指令,这时候UUT(unit under test)有返回值a(假设接收到的a是完整的)。 2 用初始化的值b和a比较。如果a在b的范围内,得出结果pass,否则fail。 3 不管结果是pass 或者fail, 都马上发送第二条指令。
这里你明白了如何“停止、继续”的机制了吗?
john_QQ:2335298917 2017-04-01
  • 打赏
  • 举报
回复
那你可以加上一个标志,如果停止运行的话,标志置为false,同时设置一个全局的event,wait,继续运行的话,触发事件,然后把标志置为true
Mou377 2017-04-01
  • 打赏
  • 举报
回复
简单描述一下(数据是通过串口发送接收的): 1 打开串口,发送第一条指令,这时候UUT(unit under test)有返回值a(假设接收到的a是完整的)。 2 用初始化的值b和a比较。如果a在b的范围内,得出结果pass,否则fail。 3 不管结果是pass 或者fail, 都马上发送第二条指令。
xuggzu 2017-04-01
  • 打赏
  • 举报
回复
楼主的再描述明白了,但,你那个测试貌似不是另一个程序,测试的机理是什么啊?不明白机理,怎么可能知道如何停止?如果是另一个程序专管测试,是可以通过进程控制强行停止的。
  • 打赏
  • 举报
回复
除了界面上人家(你抄来这个题目之前)已经说明的 On/Off/Start 这种词儿以外,你是否能说出程序内部控制机制?
  • 打赏
  • 举报
回复
你上课学过“程序停止”这个概念吗?请你表达清楚你是否有会点深入一点的解释。如果对于“停止”这个概念你自己不做解释,那就相当于一个卖矛盾的人其实从不知道自己的矛盾是什么,说不出里边的控制机制。
Mou377 2017-04-01
  • 打赏
  • 举报
回复
引用 3 楼 johnliuyuan 的回复:
用事件,加上等待的代码
我菜鸟一个,你能具体点么?
Mou377 2017-04-01
  • 打赏
  • 举报
回复
引用 1 楼 xuggzu 的回复:
没看懂楼主想问什么?程序停止执行是指什么?
"start"开始后,测试开始:就是截图右边的item description那些项目开始被测试。 现在我想(1)点击"All off"测试停止 (2)点击"All on"测试继续执行。 希望能表达清楚了
john_QQ:2335298917 2017-04-01
  • 打赏
  • 举报
回复
用事件,加上等待的代码
zj_zwl 2017-04-01
  • 打赏
  • 举报
回复
停止就退出循环
xuggzu 2017-04-01
  • 打赏
  • 举报
回复
没看懂楼主想问什么?程序停止执行是指什么?
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧