关于线程暂停和继续的问题。

zhuxiaojun2002 2012-02-14 05:05:26
线程执行的步骤很多,我想停在某一个点上。用Suspend和Resume来暂停和继续没问题。可是vs提示被否决的。

现在改成这样。

ManualResetEvent resumeEvent = new ManualResetEvent(false);
void Pause()
{
resumeEvent.Reset();
paused = true;
}
void Resume()
{
paused = false;
resumeEvent.Set();
}

for (int i = 0; i < 10000; i++)
{
if (paused)
{
resumeEvent.WaitOne();
}
SetTextBoxMethod(textBox1, i.ToString());
System.Threading.Thread.Sleep(1000);
SetTextBoxMethod(textBox1, "bbb");
System.Threading.Thread.Sleep(5000);
SetTextBoxMethod(textBox1, "ccc");
System.Threading.Thread.Sleep(5000);
。。。。。。。。
}
这样的话只是在一个for循环结束后在开始之前暂停。而我需要想暂停在某一个点上,就像Suspend,我该怎么做。
...全文
354 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuxiaojun2002 2012-02-15
  • 打赏
  • 举报
回复
谢谢楼上的哥们
就是调用Suspend 或者 调用低层的 Suspend实现??怎么样调用底层的。

再有就是 多个方法之间都调用 if (paused) ,是在是太多了。
阿非 2012-02-15
  • 打赏
  • 举报
回复
就是调用Suspend 或者 调用低层的 Suspend实现

再有就是 多个方法之间都调用 if (paused)
段传涛 2012-02-15
  • 打赏
  • 举报
回复
java 倒好处理一点。
只能参考 java方法修改了。
zhuxiaojun2002 2012-02-15
  • 打赏
  • 举报
回复
求助啊。
qldsrx 2012-02-15
  • 打赏
  • 举报
回复
Monitor, Mutex, Event这些都是必须给插入点才能做到暂停效果,之所以Suspend方法过时,就是因为它不需要插入点,任何时刻都可以暂停,虽然这样是可行的,但是容易出现问题,导致程序出错,这才设置为过时,如果你的线程没有导致程序崩溃的危险,警告无视,用它,否则自己在需要暂停的地方插入信号量等待。
zhuxiaojun2002 2012-02-15
  • 打赏
  • 举报
回复
Thread.Resume()”已过时:“Thread.Resume has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event
怎么样用Monitor, Mutex, Event达到立即暂停的效果?不会用啊
zhuxiaojun2002 2012-02-15
  • 打赏
  • 举报
回复
java 倒好处理一点。
只能参考 java方法修改了。

怎么处理???
熙风 2012-02-14
  • 打赏
  • 举报
回复
zhuxiaojun2002 2012-02-14
  • 打赏
  • 举报
回复
一般开发情况下,线程内最小的单位肯定是你的一个操作(差不多就是一句话)。
可以这样的步骤特别多,加起来太不方便了。
nonocast 2012-02-14
  • 打赏
  • 举报
回复
还是使用log吧
不想折腾vs
大飞飞虫 2012-02-14
  • 打赏
  • 举报
回复
操作的每一步都加你那么一段。

一般开发情况下,线程内最小的单位肯定是你的一个操作(差不多就是一句话)

否则你就把线程本身引用传到处理函数中,自己调suspand
zhuxiaojun2002 2012-02-14
  • 打赏
  • 举报
回复
现在的代码就可以暂停,我是想暂停在哪一个具体点上,比如SetTextBoxMethod(textBox1, "bbb");
zhuxiaojun2002 2012-02-14
  • 打赏
  • 举报
回复
谢谢,我没太明白
bdmh 2012-02-14
  • 打赏
  • 举报
回复
加变量控制循环是否继续,比如

for()
{
if xxxxx {}
else {}
}

110,533

社区成员

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

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

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