你能告诉我C#中是否有办法暂停和恢复程序执行流程,就像我想在下面做的那样?
或者您知道如何保存/加载当前线程调用堆栈?
我正在寻找一种根本不会创建新线程的解决方案。
public class MyClass : InterruptableClass
{
int x;
public void Fn1()
{
x = 1;
this.Interrupt();
x = 2;
}
}
static class Program
{
static void Main()
{
MyClass c = new MyClass();
c.Fn1();
// Now c.x is 1
if (c.IsInterrupted)
{
c.ResumeExecution();
// Now c.x is 2
}
}
}
不幸的是,我无法保存/重新加载调用堆栈(StackTrace/StackFrame)。