同时执行两个方法问题请教
一个方法OpenFile("")(带一个string类型参数)
另一个 SendExcel(hssfworkbook, "")) (带一个HSSFWorkbook类型的对象,和一个string类型参数)
两个方法在不同的地方。想在同一地方执行完一个之后执行另一个。
用线程委托都行,只要能实现效果就可以。
------最佳解决方案--------------------
同步和异步没区别?
回调和顺序执行没区别?
问a();b();这样的代码能根据a()的结果来确定b()执行与否吗?
a()异步会单开线程,a();b();这样的代码能让a()异步完成后再执行b()吗?
------其他解决方案-------------------- class Program
{
static void Main(string[] args)
{
new Action(() => { }).BeginInvoke(new AsyncCallback(Call), null);
a();
Console.ReadLine();
}
static void Call(IAsyncResult res)
{
if (res.IsCompleted)
b();
}
static void a()
{
for (int i = 0; i < 100000; i++)
Console.Write("a");
}
static void b()
{
for (int i = 0; i < 100000; i++)
Console.Write("b");
}
}
------其他解决方案--------------------用回调函数就可以了
------其他解决方案--------------------
可以声明为成员变量(方法外面)或者自定义事件参数类
同时执行可以用多线程,然后Join,或者用ManaulResetEvent来控制
------其他解决方案--------------------加锁加锁加锁加锁
------其他解决方案--------------------OpenFile("");
SendExcel(hssfworkbook, ""));
------其他解决方案--------------------