文章分类 -  CLR via C#

第二十九章 混合线程同步构造
摘要:一个简单的混合锁自旋、线程所有权和递归混合构造的大杂烩 ManualResetEventSlim类和SemaphoreSlim类 Monitor类和同步块 ReaderWriterLockSlim类 OneManyLock类 CountdownEvent类 Barrier类 线程同步构造小结著名的双检锁技术条件变量模式用集合防止占有锁太长的时间并发集合类 阅读全文

posted @ 2012-04-12 00:37 tLEE 阅读(215) 评论(0) 推荐(0)

第二十八章 基元线程同步构造
摘要:类库和线程安全基元用户模式和内核模式构造用户模式构造 易失构造 互锁构造 实现简单的Spin Lock Interlocked Anything模式内核模式构造 Event构造 Semaphore构造 Mutex构造 在一个内核构造可用时调用一个方法 阅读全文

posted @ 2012-04-12 00:32 tLEE 阅读(159) 评论(0) 推荐(0)

第二十七章 I/O限制的异步操作
摘要:Windows如何执行I/O操作CLR的异步编程模型(APM)AsyncEnumerator类APM和异常应用程序及其线程处理模型异步实现服务器APM和计算限制的操作APM的注意事项 在没有线程池的前提下使用APM 总是调用EndXxx方法,并且只调用一次 调用EndXxx方法时总是使用相同的对象 为BeginXxx和EndXxx方法使用ref,out和params实参 不能取消异步I/O限制操作 内存消耗 有的I/O操作必须同步完成 FileStream特有的问题I/O请求优先级将IAsyncResult APM转换为Task基于事件的异步模式 将EAP转换为Task A... 阅读全文

posted @ 2012-04-12 00:30 tLEE 阅读(136) 评论(0) 推荐(0)

第二十六章 计算限制的异步操作
摘要:CLR线程池基础执行简单的计算限制操作执行上下文协作式取消任务 等待任务完成并获取它的结果 取消任务 一个任务完成时自动启动一个新任务 任务可以启动子任务 任务内部揭秘 任务工厂 任务调度器Parallel的静态For,ForEach和Invoke方法并行语言集成查询(PLINQ)执行定时计算限制操作线程池如何管理线程 设置线程池限制 如何管理工作者线程缓存线和伪共享 阅读全文

posted @ 2012-04-12 00:23 tLEE 阅读(123) 评论(0) 推荐(0)

第二十五章 线程基础
摘要:Windows为什么要支持线程线程开销停止疯狂CPU发展趋势NUMA架构的机器CLR线程和Windows线程使用专用线程执行异步的计算限制操作使用线程的理由线程调度和优先级前台线程和后台线程继续学习 阅读全文

posted @ 2012-04-12 00:19 tLEE 阅读(114) 评论(0) 推荐(0)

第二十四章 运行时序列化
摘要:序列化/反序列化快速入门使类型可序列化控制序列化和反序列化格式化器如何序列化类型实例控制序列化/反序列化的数据流上下文将类型序列化为不用的类型以及将对象反序列化为不同的对象序列化代理 代理选择器链反序列化对象时重写程序集和/或类型 阅读全文

posted @ 2012-04-12 00:16 tLEE 阅读(144) 评论(0) 推荐(0)

第二十三章 程序集加载和反射
摘要:程序集加载和反射使用反射构建动态可扩展应用程序反射的性能 发现程序集中定义的类型 类型对象的准确含义 构建Exception派生类型的一个层次结构 构造类型的实例设计支持加载项的应用程序使用反射发现类型的成员 发现类型成员 BindingFlags:筛选返回的成员种类 发现类型的接口 调用类型的成员 一次绑定,多次调用 使用绑定句柄来减少进程内存耗用 阅读全文

posted @ 2012-04-12 00:13 tLEE 阅读(108) 评论(0) 推荐(0)

第二十二章 CLR寄宿和AppDomain
摘要:CLR寄宿AppDomain卸载AppDomain监视AppDomainAppDomain FirstChance异常通知宿主如何使用AppDomain 可执行应用程序 Microsoft Silverlight富Internet应用程序 Microsoft ASP.NET Web窗体和XML Web服务应用程序 Microsoft SQL Server 更多的用法只局限于你自己的想象力高级宿主控制 使用托管代码管理CLR 编写健壮的宿主应用程序 宿主如何拿回它的线程 阅读全文

posted @ 2012-04-12 00:09 tLEE 阅读(200) 评论(0) 推荐(0)

第二十一章 自动内存管理(垃圾回收)
摘要:理解垃圾回收平台的基本工作原理垃圾回收算法垃圾回收与调试使用终结操作来释放本地资源 使用CriticalFinalizerObject类型确保终结 SafeHandle类型及其派生类型 使用SafeHandle类型与非托管代码进行互操作对托管资源使用终结操作什么会导致Finalize方法被调用终结操作揭秘Dispose模式:强制对象清理资源使用实现了Dispose模式的类型C#的Using语句一个有趣的依赖性问题手动监视和控制对象的生存期对象复活代用于本地资源的其他垃圾回收功能预测需求大量内存的操作能否成功编程控制垃圾回收器线程劫持垃圾回收模式大对象监视垃圾回收 阅读全文

posted @ 2012-04-12 00:05 tLEE 阅读(158) 评论(0) 推荐(0)

第二十章 异常和状态管理
摘要:定义“异常”异常处理机制 try块 catch块 finally块System.Exception类FCL定义的异常类抛出异常定义自己的异常类用可靠性换取开发效率指导原则和最佳实践 善用finally块 不要什么都捕捉 得体地从异常中恢复 发生不可恢复的异常时回滚部分完成的操作——维持状态 隐藏实现细节来维系契约未处理的异常对异常进行调试异常处理的性能问题约束执行区域(CER)代码契约 阅读全文

posted @ 2012-04-11 23:55 tLEE 阅读(161) 评论(0) 推荐(0)

第十九章 可空值类型
摘要:c#对可空值类型的支持c#的空接合操作符CLR对可空值类型的特殊支持 可空值类型的装箱 可空值类型的拆箱 通过可空值类型调用GetType 通过可空值类型调用接口方法 阅读全文

posted @ 2012-04-11 23:51 tLEE 阅读(124) 评论(0) 推荐(0)

第十八章 定制attribute
摘要:使用定制attribute定义自己的attribute类attribute的构造器和字段/属性的数据类型检测定制attribute两个attribute实例的相互匹配检测定制attribute时不创建从Attribute派生的对象条件attribute类 阅读全文

posted @ 2012-04-11 23:41 tLEE 阅读(155) 评论(0) 推荐(0)

第十七章 委托
摘要:初始委托用委托回调静态方法用委托回调实例方法委托揭秘用委托回调许多方法(委托链) C#对委托链的支持 取得对委托链调用的更多控制委托定义太多(泛型委托)C#为委托提供的简化语法 简化语法1:不需要构造委托对象 简化语法2:不需要定义回调方法 简化语法3:局部变量不需要手动包装到类中即可传给回调方法委托和反射 阅读全文

posted @ 2012-04-11 23:38 tLEE 阅读(121) 评论(0) 推荐(0)

第十六章 数组
摘要:初始化数组元素数组转型所有数组都隐式派生自System.Array所有数组都隐式实现IEnumerable,Icollection和IList数组的传递和返回创建下限非零的数组数组的访问性能不安全的数组访问和固定大小的数组 阅读全文

posted @ 2012-04-11 23:16 tLEE 阅读(126) 评论(0) 推荐(0)

第十五章 枚举类型和位标志
摘要:枚举类型位标志向枚举类型添加方法 阅读全文

posted @ 2012-04-11 23:14 tLEE 阅读(112) 评论(0) 推荐(0)

第十四章 字符、字符串和文本处理
摘要:字符System.String类型 构造字符串 字符串是不可变的 比较字符串 字符串留用 字符串池 检查字符串中的字符和文本元素 其他字符串操作高效率构造字符串 构造StringBuilder对象 StringBuilder的成员获取对象的字符串标识:ToString 指定具体的格式和语言文化 将多个对象格式成一个字符串 提供定制格式化器解析字符串来获取对象:Parse编码:字符和字节的相互转换 字符和字节流的编码和解码 Base-64字符串编码和解码安全字符串 阅读全文

posted @ 2012-04-11 23:13 tLEE 阅读(143) 评论(0) 推荐(0)

第十三章 接口
摘要:类和接口继承定义接口继承接口关于调用接口方法的更多探讨隐式和显式接口方法实现(幕后发生的事情)泛型接口实现多个具有相同方法名和签名的接口用显式接口方法实现来增强编译时类型安全性谨慎使用显式接口方法实现设计:基类还是接口 阅读全文

posted @ 2012-04-11 23:07 tLEE 阅读(151) 评论(0) 推荐(0)

第十二章 泛型
摘要:Framework类库中的泛型Wintellect的Power Collections库泛型基础结构 开放类型和封闭类型 泛型类型和继承 泛型类型同一性 代码爆炸泛型接口泛型委托委托和接口的逆变和协变泛型类型实参泛型方法泛型和其他成员可验证性和约束 主要约束 次要约束 构造器约束 其他可验证性问题 阅读全文

posted @ 2012-04-11 00:08 tLEE 阅读(106) 评论(0) 推荐(0)

第十一章 事件
摘要:设计要公开事件的类型 第一步:定义类型来容纳所有需要发送给事件通知接收者的附加信息 第二步:定义事件成员 第三步:定义负责引发事件的方法来通知事件的登记对象 第四步:定义方法将输入转化为期望事件编译器如何实现事件设计侦听事件的类型显式实现事件 阅读全文

posted @ 2012-04-11 00:06 tLEE 阅读(145) 评论(0) 推荐(0)

第十章 属性
摘要:无参属性 自动实现的属性 合理定义属性 对象和集合初始化器 匿名类型 System.Tuple类型有参属性调用属性访问器方法时的性能属性访问器的可访问性泛型属性访问器方法 阅读全文

posted @ 2012-04-10 23:50 tLEE 阅读(127) 评论(0) 推荐(0)

导航