a方法中调用b方法,b方法是异步执行的,而且我无法更改b方法的代码
a方法在结束前需要获得b方法的结果,若b方法还没有执行完,就得等...
问题是,等的这一段时间里得干点啥吧...thread.sleep的话,b方法也就停下来了....现在知道的方法,一个是用remoting(我还....也绕太远了),远程对象在执行过程中,当前线程可以sleep,另一个是
while (!b.Complete)
{
System.Windows.Forms.Application.DoEvents();
}
后者又cpu占用100%,虽然能执行完,但是很慢...很慢...
请大家支个招
a方法在结束前需要获得b方法的结果,若b方法还没有执行完,就得等...
问题是,等的这一段时间里得干点啥吧...thread.sleep的话,b方法也就停下来了....现在知道的方法,一个是用remoting(我还....也绕太远了),远程对象在执行过程中,当前线程可以sleep,另一个是
while (!b.Complete)
{
System.Windows.Forms.Application.DoEvents();
}
后者又cpu占用100%,虽然能执行完,但是很慢...很慢...
请大家支个招
解决方案 »
- 还是关于SqlConnection、SqlConnection要不要手动销毁的问题
- 请问,如何让ComboBox控件的鼠标滚轮改变选择项的功能失效?
- c#进程间管道通信的问题,求解答!
- C# Media Player 如何播放一组文件
- winForm 自定义控件问题,希望大家指点 分少可以加
- c#中如何在一个窗体访问另一个窗体中控件的数据
- 安装、使用vsts beta2报错,请大家看看。
- DataGridView保存行状态的问题
- 请教高手C#问题
- WPF的datagrid 如何用2种颜色交替做每行背景颜色?
- 有关文件读取的,请各位高手请进,急
- 请问在C#里面怎样实现逻辑坐标原点的设置,将坐标变成数学里的直角坐标系....就像MFC里面的???帮忙
其次,我在问题里已经说过了,thread.sleep的话,b就不继续执行了
2.当前线程休息。使用System.Threading.Thread.Sleep(300);
navigatehandler.BeginInvoke(uri, null, null).AsyncWaitHandle.WaitOne();
这样?
似乎..不行哦....
http://blog.csdn.net/zhzuo/archive/2004/06/15/22038.aspx
但是似乎对于WebBrowser.Navigate不起作用呢?