自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

致我的奋斗

桃李不言,下自成蹊。

  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 .net中async/await异步编程

C#5.0中引入了构建异步方法的新特性---async/await。本文根据自己的理解讲述异步方法三种返回方式和取消异步操作的示例。在此之前先说说异步方法的语法特点:方法名称一般是Async 结尾。可以包含一个或者多个await表达式。异步方法的参数不能使用ref和out参数。方法头包含async关键字,并且在返回类型之前。除了方法之外, Lambda 表达式和匿名函数也可以作为异步对象。先来看看...

2018-04-03 19:20:11 10523

原创 C#中的is和as运算符

is运算符有些类型之间的转换并不是能够转换成功,强制的转换反而会抛出一些异常,那么,可以使用is运算符来检查转换是否可以转换成功。is的语法如下:variable  is  NewType如果variable可以通过引用转换、装箱转换和拆箱转换的方式转换为NewType,那么运算符返回true。举例如下: class Animal { public string na...

2018-04-07 22:10:42 626

原创 .net中计时器Timer类

计时器可以一种定时的方式异步的重复运行,这里简单的讲解举例一下System.Threading命名空间中的Timer类。参考文档:https://msdn.microsoft.com/zh-cn/library/system.threading.timer(v=vs.110).aspx计时器在固定的时间调用回调方法,回调方法必须是System.Threading.TimerCallback委托形式...

2018-04-06 12:50:36 1538

原创 .net利用委托BeginInvoke和EndInvoke实现异步编程

最近看书,看到了可以利用学过的委托知识实现异步编程,这里做一个简单的说明示例。如果委托对象在调用列表中只有一个方法(引用方法),他就可有异步执行这个方法。委托类有两个方法,BeginInvoke和EndInvoke。当我们调用委托的BeginInvoke方法时,它开始在一个独立线程上执行引用方法。并且立即返回到原始线程。原始线程可以继续。而引用方法会在线程池中的线程中并行执行。当程序希望获取已完成...

2018-04-06 04:01:04 1886

原创 .NET中的简单的并行循环Parallel.For和Parallel.ForEach

这里简单的介绍一下.net中的任务并行库。简单的并行循环Parallel.For和Parallel.ForEach。我们常见的for和foreach循环分别对应并行循环Parallel.For和Parallel.ForEach。参考文档:https://msdn.microsoft.com/zh-cn/library/system.threading.tasks.parallel_methods(...

2018-04-05 22:01:27 2944

原创 .net通过BackgroundWorker类实现多线程编程

前面学习了async/await特性来异步处理任务,BackgroundWorker可以在需要另建一个线程,并且后台持续的完成某项工作,而且可以和主线程进行交互通信。参考文档:https://msdn.microsoft.com/zh-cn/library/system.componentmodel.backgroundworker.aspx代码示例: class Program {...

2018-04-05 19:56:54 293

原创 .net中Task.Yield和Task.Delay说明

书上看到一个Task.Yield例子,Task.Yield方法创建一个立即返回的awaitable。等待一个Yield可以让异步方法在执行后续的部分时返回到调用方法。可以理解为离开当前的消息队列,回到队列末尾,让处理器有时间处理其他任务。Yield方法在GUI编程中非常的有用,可以中断大量的工作,让其他任务使用处理器。看下面的代码:static void Main(string[] args){...

2018-04-05 18:24:58 3667

原创 .net中Task.WhenAll和WhenAny异步的等待Task完成

前面讲了Task.WaitAll和WaitAny同步的等待Task完成,在异步方法中,我们希望用await表达式等待Task,这里使用Task.WhenAll和WhenAny方法来实现等待一个或者多个任务完成。修改Main函数,添加一个异步方法,代码如下:static void Main(string[] args){ string[] urls = { "https://stackov...

2018-04-05 17:05:52 10656 1

原创 .net中Task.WaitAll和WaitAny同步的等待Task完成

前面讲了《.net中async/await异步编程》,如果方法中使用了多个异步方法,该如何同步的等待Task完成?Task.WaitAll 等待提供的所有 System.Threading.Tasks.Task 对象完成执行过程。DownLoadTest dwtest = new DownLoadTest();CancellationTokenSource cts = new Cancellat...

2018-04-05 16:29:27 9793

原创 asp.net mvc 中使用async/await异步编程

已经介绍过async/await异步编程,但是按照一般的异步编程的步骤,在asp.net mvc页面中使用异步编程好像会经常报一个错误,错误信息如下:现在无法开始异步操作。异步操作只能在异步处理程序或模块中开始,或在页生存期中的特定事件过程中开始。如果此异常在执行 Page 时发生,请确保 Page 标记为 <%@ Page Async="true" %>。此异常也可能表明试图调用“异...

2018-04-04 16:46:12 10205

java计算器源代码

自己写的java计算器,完全模仿Windows自带计算器,仅供参考

2015-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除