首页 新闻 会员 周边

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

-1
[已解决问题] 解决于 2017-04-04 10:54

如截图,"start"开始后,测试开始执行。

(1)点击"All off"测试停止(2)点击"All on"测试继续执行。

ps:不考虑用 Thread.Sleep(),因为它需要固定的时间。

某的主页 | 菜鸟二级 | 园豆:278
提问于:2017-04-01 14:35
< >
分享
最佳答案
2

不知道你下面的实现,优雅点的就是加个标识位,一般一个bool值或者CancellationToken,点stop时去设定下,其他的线程通过判断去跳出(一般用于循环上)。暴力点的就直接把其他线程给abort掉。

奖励园豆:5
Daniel Cai | 专家六级 |园豆:10424 | 2017-04-01 14:41

简单描述一下(数据是通过串口发送接收的):
1 打开串口,发送第一条指令,这时候UUT(unit under test)有返回值a(假设接收到的a是完整的)。
2 用初始化的值b和a比较。如果a在b的范围内,得出结果pass,否则fail。
3 不管结果是pass 或者fail, 都马上发送第二条指令。

| 园豆:278 (菜鸟二级) | 2017-04-03 17:23

现在我不知道在哪里停

| 园豆:278 (菜鸟二级) | 2017-04-03 17:26

@某: 就在你那所谓的马上发送第二条指令的地方啊。

我不清楚你指令是怎么样拿到的,但肯定是可以转成一个循环获取,既然有循环了就在循环的判断上加上这个标识就可以了。

Daniel Cai | 园豆:10424 (专家六级) | 2017-04-03 18:43
其他回答(1)
0

hread t = new Thread(new ThreadStart(TestMethord));
t.Start();
t. Suspend();
MessageBox.Show("线程已暂停");
t. Resume ();
MessageBox.Show("线程已恢复");
}
public void TestMethord()  //线程调用的自定义方法
{
}

pengbg | 园豆:13 (初学一级) | 2017-04-01 16:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册