1.博客园文章:线程阶段性总结——APM,ThreadPool,Task,TaskScheduler ,CancellationTokenSource
http://www.cnblogs.com/xiashengwang/archive/2012/08/18/2645588.html
2.博客园文章:C# 线程知识--使用Task执行异步操作
http://www.cnblogs.com/pengstone/archive/2012/12/23/2830238.html
3.博客园文章: Metro Style App 异步-简洁而不简单的异步
http://www.cnblogs.com/trigged/archive/2012/03/09/2388182.html
4.博客园文章:异步编程中的最佳做法
http://www.cnblogs.com/LittleFeiHu/p/4604179.html
5.博客园文章:async And await异步编程活用基础
http://www.cnblogs.com/x-xk/archive/2013/06/05/3118005.html
注意事项:
1. 有async 则必须有await ,异步方法的返回类型必须是Task<T>
2. 被async 标记的方法一定是异步方法,异步方法的返回值必须为void、Task、Task<T>
3. 没被async标记修饰,但返回值为Task、Task<T>的方法也是异步方法
4. await 关键字后的方法一定是异步方法
5. 方法中如果使用了await关键字,那么该方法也应该被async关键字修饰
6. 使用await(await GetResult(100))关键字,会使程序等待返回结果后再继续向下执行代码,但不会阻塞UI线程
参考代码:
static CancellationTokenSource cancellation = new CancellationTokenSource(3000); private static void CanceltionDemo() { Task<int> task = new Task<int>(() => { return GetNumber(500); }, cancellation.Token); task.ContinueWith(t => { if (t.IsFaulted == false && t.IsCanceled == false) { int data = t.Result; Console.WriteLine(data); } else { Console.WriteLine("error"); } }); cancellation.Token.Register(() => { Console.WriteLine("task is be canceled..."); }); task.Start(); } private static int GetNumber(int number) { if (cancellation.IsCancellationRequested) { cancellation.Token.ThrowIfCancellationRequested(); } if (number == 1 || number == 2) { return 1; } return GetNumber(number - 2) + GetNumber(number - 1); } private static void ContinueWithDemo() { var result = DoWorkAsync().ContinueWith(task => { Console.WriteLine(task.Result); }, TaskContinuationOptions.None); } private static void ResultPropertyDemo() { var result = DoWorkAsync().Result; Console.WriteLine(result); } static Task<string> DoWorkAsync() { return Task<string>.Factory.StartNew(() => { throw new Exception("error"); Thread.Sleep(3000); return "Hello world..."; }); }
优秀的教材:
1. Pro ASP.NET WEB API
相关推荐
1. **公共语言运行时(CLR)**:这是.NET Framework的核心,负责执行代码、管理内存、处理异常、线程管理和安全特性。 2. **类库**:提供丰富的预定义类,覆盖了网络通信、数据库访问、图形界面设计等多个领域,...
在.NET Framework 4.0中,C#引入了一些新特性,如动态类型(dynamic)、命名空间别名(using alias)、匿名类型(anonymous types)和LINQ(Language Integrated Query),极大地提高了开发效率和代码质量。...
.NET Framework 4.0.30319引入了多个新特性,例如: 1. **改进的性能**:通过优化CLR和FCL,提高了应用程序的运行速度和响应性,特别是在并行计算和多线程方面有显著提升。 2. **异步编程模型**:引入了Task ...
首先,.Net Framework 4.0在编程模型上进行了改进,引入了新的编程语言特性,如动态类型、任务并行库(TPL)、以及异步编程模型,极大地提高了代码的可读性和执行效率。动态类型允许在运行时确定对象的类型,增加了...
.NET Framework 4.0的兼容性设计使得开发者可以利用这些新功能编写程序,而用户通过安装相应的框架版本,即便在较旧的操作系统上也能运行这些程序。 ".NET Framework 4.0"这个标签明确了主题,表明这个压缩包是针对...
6. **并发和多线程**:.NET Framework 4.0引入了Task Parallel Library(TPL),这是一组用于编写多线程和并行代码的新API,使得开发者能够轻松利用多核处理器的优势。 7. **代码访问安全性**:安全性方面,.NET ...
.NET Framework 4.0是.NET Framework系列的一个重要版本,它包含了大量新特性和性能优化。这一版本主要改进了内存管理,提升了运行时性能,增强了语言支持,特别是对C#和Visual Basic的增强。同时,它引入了新的编程...
下载并安装"NetFramework4.0.30319.exe"文件,即可将.NET Framework 4.0.30319添加到您的系统中,为运行依赖该版本的应用程序提供必要支持。请确保在安装前检查系统兼容性和任何可能的更新,以保证最佳的运行效果。...
在本案例中,"netframework4.0.rar"是一个压缩包,包含了.NET Framework 4.0的手动安装程序,名为"dotNetFx40.exe"。 .NET Framework的核心组件包括Common Language Runtime (CLR) 和 .NET Framework Class Library...
.NET Framework 4.0引入了许多新特性,包括性能提升、编程模型的改进以及对并行计算的支持。其中,CLR 4.0的改进主要体现在垃圾收集(Garbage Collection)的优化,使得内存管理更加高效;而BCL的更新则增强了集合...
此外,XNA 4.0引入了对DirectX 11的支持,允许开发者利用更先进的图形特性,如Shader Model 5.0和多线程渲染。对于Windows Phone 7平台,XNA 4.0提供了更好的设备兼容性和性能提升。 XNA Framework的一个重要特性是...
7. **编程语言增强**:C# 4.0和VB.NET 10.0引入了新的语言特性,如动态类型、命名参数和可选参数,提高了代码的可读性和简洁性。 8. **互操作性**:提升了与COM组件、WinRT(Windows Runtime)和非托管代码的互操作...
在.NET Framework 4.0中,引入了一些显著的改进和新特性。例如,性能得到了大幅提升,尤其是在内存管理和多线程处理方面。另外,新增了Parallel LINQ (PLINQ) 支持,使得开发者可以轻松地编写并行代码,充分利用多核...
.NET Framework 4.0的另一个显著特性是对动态语言的支持,引入了Dynamic Language Runtime (DLR)。这使得.NET Framework能够更好地支持如IronPython和IronRuby等动态语言,为开发者提供了更多选择和灵活性。 在安全...
.NET Framework 4.0的主要改进和新特性包括: 1. **性能提升**:通过优化编译器和垃圾回收机制,提高了代码执行效率,使得应用程序运行更快。 2. **并行计算支持**:引入了Task Parallel Library(任务并行库),...
这个框架是.NET Framework系列的一个重大升级版本,带来了许多新的特性和改进,旨在提高开发效率和应用程序性能。 首先,.NET Framework 4.0引入了CLR(Common Language Runtime)的更新版本——CLR 4.0。这一版本...
10. 并发和多线程:.NET Framework 4.0对多核处理器的支持进行了优化,提供了新的并发编程模型,如Task Parallel Library (TPL) 和 Concurrent Collections,帮助开发者编写出更高效、更易管理的多线程应用。...
此外,.NET Framework 4.0引入了一些新的特性和改进,例如改进的垃圾回收机制、多线程支持的增强、更高效的代码执行以及对动态语言的支持(如C# 4.0中的动态类型)。这些特性使得开发人员能够编写出更高效、更灵活的...
安装.NET Framework 4.0后,开发者可以利用这些新特性和改进,创建出更高效、更健壮的Windows应用程序。同时,.NET Framework 4.0也向下兼容早期版本的.NET应用程序,确保了软件的兼容性和稳定性。 总结来说,.NET ...
在本文中,我们将深入探讨.NET Framework 4.0的安装过程、使用方法以及其主要特性。 1. **安装.NET Framework 4.0** - **系统需求**:在安装.NET Framework 4.0之前,确保你的操作系统满足最低要求,例如Windows ...