C#同步和异步调用方法实例
程序员文章站
2024-02-21 20:44:40
复制代码 代码如下:namespace consoletest{ class program  ...
复制代码 代码如下:
namespace consoletest
{
class program
{
static void main(string[] args)
{
console.writeline("********同步调用开始**********");
int result = add(1,2);
console.writeline("同步调用完毕,执行结果为:" + result);
console.writeline("********异步调用开始**********");
synadd(1, 2, (r) => {
console.writeline("异步调用完毕,执行结果为:" + r);
});
console.writeline("-------完毕!----------");
console.readline();
}
/// <summary>
/// 同步方法
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
static int add(int a, int b)
{
thread.sleep(5000);
return a + b;
}
/// <summary>
/// 异步调用
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <param name="callback">委托对象</param>
static void synadd(int a, int b, action<int> callback)
{
func<int> func = () =>
{
thread.sleep(5000);
return a+b;
};//声明异步方法实现方式
func.begininvoke((ar) =>
{
var result = func.endinvoke(ar);//调用完毕执行的结果
callback.invoke(result);//委托执行,回传结果值
}, null);
}
}
}
上一篇: c# DataTable与不同结构实体类转换的方法实例
下一篇: 很全面的MySQL处理重复数据代码