摘要:
.Net中的几种异步模式 .Net中的几种异步模式基于事件的异步模式(EAP)IAsyncResult接口简单的异步模式——引入lambda基于任务的异步模式(TAP)手动异步编程的问题 在C# 5.0引入async之前,存在几种异步编程模式,比如Event-based Asynchronous Pattern(EAP)、IAsyncResult模式(APM)、Task-Based Async... 阅读全文
摘要:
并发编程技术 并发编程技术并发的基本概念并发技术——多线程并发技术——异步编程并发技术——并行编程并发技术——响应式编程并发技术——TPL数据流并发编程的集合技术要点总结 并发的基本概念 并发,即同时做几件事。但是并发并不只是多线程,多线程只是并发的一种形式,还有很多并发技术,比如异步,并行,TPL 阅读全文
摘要:
《CLR via C#》之线程基础——任务调度器 《CLR via C#》之线程基础——任务调度器线程池任务调度器设置线程池限制如何管理工作者线程同步上下文任务调度器自定义TaskScheduler派生类 FCL提供了两个派生子TaskScheduler的类型:线程池任务调度器(thread pool task scheduler),和同步上下文任务调度器(synchronization co... 阅读全文
摘要:
《CLR via C#》之线程处理——线程池与任务 《CLR via C#》之线程处理——线程池与任务线程池线程池用法任务等待任务完成并获取结果(Wait方法和Result属性)取消任务(token的ThrowIfCancellationRequested方法)任务完成自动启动新任务(ContinueWith方法)任务启动子任务任务工厂(TaskFactory和TaskFactory) 线程池... 阅读全文
摘要:
《CLR via C#》之线程处理——协作式取消和超时 《CLR via C#》之线程处理——协作式取消和超时协作式取消和超时 协作式取消和超时 创建协作式取消步骤: 首先创建一个System.Threading.CancellationTokenSource对象。 public sealed class CancellationTokenSource : IDisposable {... 阅读全文
摘要:
《CLR via C#》之线程处理——线程基础 《CLR via C#》之线程处理——线程基础windows为什么要支持线程线程开销CPU发展趋势CLR线程和Windows线程使用专用线程执行异步的计算限制操作线程调度和优先级 windows为什么要支持线程 早期的操作系统只有一个执行线程,但同时包 阅读全文
摘要:
Prism初研究之使用Prism实现WPF的MVVM的高级应用 Prism初研究之使用Prism实现WPF的MVVM的高级应用Commands复合命令(Composite Commands)注册和注销子命令在活动的子视图上运行命令集合中绑定命令触发器和命令的交互为命令传入EventArgs参数处理异步交互通过网络服务获取数据和进行交互用户交互模式使用交互服务使用交互请求对象从view Model... 阅读全文
摘要:
Prism初研究之使用Prism实现WPF的MVVM模式 Prism初研究之使用Prism实现WPF的MVVM模式类职责和特征视图类(View)视图模型类(View Model)模型类(Model)类间的交互数据绑定(Data Binding)实现INotifyPropertyChanged实现INotifyCollectionChanged实现ICollectionView命令(Command... 阅读全文
摘要:
Prism初研究之使用Prism 5.0开发模块化应用 Prism初研究之使用Prism 5.0开发模块化应用模块化应用的优点:Prism支持模块化应用开发核心概念IModule:模块的生命周期Module Catalog控制Module加载在应用程序中集成模块模块间的通信* 共享资源。如果不想模块间进行直接的通信,可以选择通过共享的资源进行间接通信,比如数据库或者网络服务。DI和模块化应用关键... 阅读全文
摘要:
Prism初研究之依赖管理 Prism初研究之依赖管理关键决定:选择DI容器考虑使用容器核心情景类型注册使用Unity容器注册类型使用MEF容器注册类型依赖解析Unity实例解析MEF实例解析在Prism中使用依赖注入容器IServiceLocator扩展阅读 注意:Prism框架本身不提供指定的依赖注入容器,你可以使用其它的依赖注入容器,比如:Castle Windsor,Struct... 阅读全文