异步调用的一个例子
delegate double CalculateMethod(double Diameter);
static CalculateMethod calcMethod;
double result = 0;
static void Main(string[] args)
{
calcMethod = new CalculateMethod(Calculate);
calcMethod.BeginInvoke(5, new AsyncCallback(TaskFinished), null);
}
///
///线程调用的函数
///
public static double Calculate(double Diameter)
{
return Diameter * Math.PI;
}
///
///线程完成之后回调的函数
///
public static void TaskFinished(IAsyncResult result)
{
result=calcMethod.EndInvoke(result);
}
用BeginInvoke 来实现异步调有,并在调用结束后执行TaskFinished 方法,这样就可以在两个线程之间进行数据的传入传出
Life is so beautiful

浙公网安备 33010602011771号