我有一个函数,只有当从异步函数收到回调时才需要执行。如何休眠线程,直到收到异步函数的回调?
像
我叫异步函数Stop()
不久后,我调用异步函数Start()
。
发送停止回调前的问题Start()
被调用,因此我得到的问题。
public void SomeFunction()
{
Stop();
//Do something;
Start();
}
但在此之前,我收到停止再打我的start()函数:也像我不能做到这一点:
public void SomeFunction()
{
Stop();
}
public void Stop_CallBack(eventargs e)
{
Start();
}
我必须这么做,我不能调用分开的两个功能被执行从而给我造成问题。
任何人都可以帮我解决这个问题。
你能解释为什么你需要'Stop_Callback'吗?为什么不直接在任务中调用'stopWaitHandle.Set();'? – 2011-06-10 12:20:38
@Daniel:*我*不需要它;但问题状态*“[...]只有在收到回调时才需要执行的函数[...]”*,并且OP已经在给定的代码示例中建议了这种回调。我倾向于尽可能少地重构OP代码。这可能是回调从第三方代码调用,例如无法访问等待句柄。 – 2011-06-10 12:23:34
我无法调用Stop_callback。这是我从其他应用程序收到的回拨。 – Sumit 2011-06-10 12:26:31