小标
2018-08-13
来源 :
阅读 1628
评论 0
摘要:本文主要向大家介绍了C#编程异步编程示例讲解,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。
本文主要向大家介绍了C#编程异步编程示例讲解,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。
C#异步编程,这里列举一下几种方式:
1、通过委托来实现异步(在委托类型中定义了BeginInvoke()和EndInvoke()两个方法);
2、task(.net 4.0 新特性);
3、await async (.net4.5新特性);
下面看示例:
一、通过委托来实现异步
class Program
{
static void Main(string[] args)
{
//通过委托来实现异步编程的(在委托类型中定义了BeginInvoke()和EndInvoke()两个方法)
string i = "参数";
Console.WriteLine("调用异步方法前");
PostAsync(i);
Console.WriteLine("调用异步方法后");
Console.ReadKey();
}
#region 通过委托来实现异步编程的(在委托类型中定义了BeginInvoke()和EndInvoke()两个方法)
delegate void AsyncFoo(string i);
private static void PostAsync(object i)
{
AsyncFoo caller = Myfunc;
caller.BeginInvoke(i.ToString(), FooCallBack, caller);
}
//回调方法
private static void FooCallBack(IAsyncResult ar)
{
var caller = (AsyncFoo)ar.AsyncState;
caller.EndInvoke(ar);
}
///
///
调用异步时传过来的参数
private static void Myfunc(string i)
{
Console.WriteLine("通过委托来实现异步编程的");
}
#endregion
}
运行结果(打印结果):
\
二、task(.net 4.0 新特性)
class Program
{
static void Main(string[] args)
{
Console.WriteLine("主线程,线程ID:" + Thread.CurrentThread.ManagedThreadId);
//Task方式一
Task task1 = new Task(() => TaskFunc1());
task1.Start();
//Task方式二
var result = Task.Run
三、await async (.net4.5新特性)
class Program
{
static void Main(string[] args)
{
Console.WriteLine("主线程,线程ID:" + Thread.CurrentThread.ManagedThreadId);
var result1 = AsyncFunc1();
Console.WriteLine(result1.Result);
Console.ReadKey();
}
#region await async
private static async Task
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C#.NET频道!
喜欢 | 0
不喜欢 | 1
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号