线程执行的步骤很多,我想停在某一个点上。用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,我该怎么做。
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,我该怎么做。
{
if xxxxx {}
else {}
}
不想折腾vs
只能参考 java方法修改了。
顶
就是调用Suspend 或者 调用低层的 Suspend实现??怎么样调用底层的。再有就是 多个方法之间都调用 if (paused) ,是在是太多了。
只能参考 java方法修改了。怎么处理???
怎么样用Monitor, Mutex, Event达到立即暂停的效果?不会用啊