摘要:
C# 温故而知新: 线程篇(四)线程同步篇 (中):同步工具类的介绍1 上篇回顾2 继续介绍基元内核模式中的 monitor类3 同步句柄:WaitHandle4 EventWaitHandle,AutoResetEvent和ManualResetEvent5 同步互斥mutex类6 简单说明下mutex和monitor的区别7 选择我们需要的同步工具8 本章总结 1 上篇回顾 很抱歉好久没写博客了,由于工作太忙,所以最近一段时间落下了,让我们开始上一篇向大家介绍了下线程同步中的一些重要概念包括:基元内核模式,基元用户模式,原子性,然后由陆续介绍了基元用户模式中的Validated,Inte. 阅读全文
摘要:
c# 温故而知新: 线程篇(一)Thread目录:目录:1 线程基础的简单介绍2 线程同步与线程异步的简单介绍3 前台线程与后台线程的简单介绍4 细说下Thread 最为关键的构造函数5 细说下Thread 的 Sleep方法6细说下Thread 的 join 方法7细说下Thread 的 Abort和 Interrupt方法8细说下Thread 的 Suspend,Resume方法9简单了解下Thread 的 一些重要属性10简单示例 多线程从一个图片中截取部分图片11 本章总结1 线程基础的简单介绍首先让我们翻开书本来了解下线程的一些基础知识:1 线程有时被称为轻量级进程,是程序执行流的最 阅读全文
摘要:
C# 温故而知新:Stream篇(三)TextWriter 和 StreamWriter目录:为何介绍TextWriter?TextWriter的构造,常用属性和方法 IFormatProvider的简单介绍如何理解StreamWriter?StreamWriter属性StreamWriter示例本章总结为何介绍TextWriter?就像上篇讲述的一样,对于重要的基础技术,我们一定要刨根问底,这样在面对将来可能很复杂的业务或技术时才能游刃有余,甚至可以创新出新的解决方案,言归正传,想了解StreamWriter 必须了解其父亲TextWriter的结构和使用方法。那么微软为什么要创建立这个抽象 阅读全文
摘要:
不知道微软为什么在sl中不支持DataTable,不给老程序员面子么?好吧,既然不行那我们只能DIY一个,这就开始干活:第一步:创建 DataRow既然是表格那我们必须有列,行和他们的集合,咳..什么都没,那我们先创建列:public class DataColumn { #region "Properties" /// <summary> /// 列名 /// </summary> public string ColumnName { get; set; } /// <summary> /... 阅读全文
摘要:
我们在项目经常会碰到一些特殊需求 例如下拉框是复选的,查询条件是根据下拉框中复选项进行拼接看到此图后大家肯定会说,这很简单嘛将所有的选项 拼成“'1-3','5-9'” 然后放到 in 的字句后面,一查就出来了。这样做的确在逻辑上没有问题,可是大家有没有想过这个问题,过度的和业务耦合虽然能够解决现在的需求但是却牺牲了代码优雅和可维护性其实本文的目的是想利用Expression表达式在linq查询中实现一个优雅的解决方案,同时也会给大家一个用Expression去拼接sql的思路先上代码 public static Expression<Func<T, 阅读全文
摘要:
C# 温故而知新: 线程篇(三)线程同步篇 (上)线程同步中的一些重要概念 临界区(共享区)的概念基元用户模式 基元内核模式原子性操作非阻止同步阻止同步详解Thread类 中的VolatileRead和VolatileWrite方法和Volatile关键字的作用 Volatile关键字的作用介绍下Interlocked介绍下Lock关键字详解ReaderWriterLock 类本章总结参考文献1.线程同步中的一些重要概念1.1临界区(共享区)的概念 在多线程的环境中,可能需要共同使用一些公共资源,这些资源可能是变量,方法逻辑段等等,这些被多个线程共用的区域统称为临界区(共享区),聪明的你肯定. 阅读全文
摘要:
C# 温故而知新: 线程篇(二)线程池和异步线程目录:1 什么是CLR线程池?2 简单介绍下线程池各个优点的实现细节3 线程池ThreadPool的常用方法介绍4 简单理解下异步线程5 异步线程的工作过程和几个重要的元素6 有必要简单介绍下Classic Async Pattern 和Event-based Async Pattern7 异步线程的发展趋势以及.net4.5异步的简化8 本章示例 自定义一个简单的线程池 Asp.net异步IHttpAsyncHandler示例9 本章总结1 什么是CLR线程池?在上一章中通过Thread对象创建我们所需要的线程,但是创建线程的开销是很大的,在需 阅读全文
摘要:
C# 温故而知新:Stream篇(七)NetworkStream目录:NetworkStream的作用简单介绍下TCP/IP 协议和相关层次简单说明下 TCP和UDP的区别简单介绍下套接字(Socket)的概念简单介绍下TcpClient,TcpListener,IPEndPoint类的作用使用NetworkStream的注意事项和局限性NetworkStream的构造NetworkStream的属性NetworkStream的方法NetwrokStream的简单示例 创建一个客户端向服务端传输图片的小示例本章总结1.NetworkStream的作用和先前的流有所不同,NetworkStre. 阅读全文
摘要:
C# 温故而知新:Stream篇(六)BufferedStream目录:简单介绍一下BufferedStream如何理解缓冲区?BufferedStream的优势从BufferedStream 中学习装饰模式 如何理解装饰模式 再次理解下装饰模式在Stream中的作用BufferedStream的构造BufferedStream的属性BufferedStream的方法简单示例:利用socket 读取网页并保存在本地本章总结1 简单介绍一下BufferedStream在前几章的讲述中,我们已经能够掌握流的基本特性和特点,一般进行对流的处理时系统肩负着IO所带来的开销,调用十分频繁,这... 阅读全文
摘要:
C# 温故而知新:Stream篇(五)MemoryStream目录:1 简单介绍一下MemoryStream2 MemoryStream和FileStream的区别3 通过部分源码深入了解下MemoryStream4 分析MemorySteam最常见的OutOfMemory异常5 MemoryStream 的构造6 MemoryStream 的属性7 MemoryStream 的方法8 MemoryStream 简单示例 : XmlWriter中使用MemoryStream9 MemoryStream 简单示例 :自定义一个处理图片的HttpHandler10 本章总结简单介绍一下Memory 阅读全文
摘要:
C# 温故而知新:Stream篇(四)FileStream目录:如何去理解FileStream?FileStream的重要性FileStream常用构造函数(重要)非托管参数SafeFileHandle简单介绍FileStream常用属性介绍FileStream常用方法介绍FileStream示例1:*文件的新建和拷贝(主要演示文件同步和异步操作)FileStream示例2:*实现文件本地分段上传本章总结如何去理解FileStream?通过前3章的学习相信大家对于Stream已经有一定的了解,但是又如何去理解FileStream呢?请看下图 我们磁盘的中任何文件都是通过2进制组成,最为直观的. 阅读全文
摘要:
今天下午冒着大雨和同事参加了在上海华亭宾馆举行的Win8开发者训练营的课程,简单说下感受。首先很悲催的是,在宾馆门口摔跤了。。台阶太滑一时没注意,上了宾馆2楼大厅,发现MM正在细心的 检查我们的打印入场卷(每个live ID 一张卷),检查完后热心的MM拿起了相机让我们一个个摆POSE照相手里还必须拿着一个metro 风格的塑料牌子,我心想我是不是做错事了,就差穿条纹相间的衣服了,看来 微软还蛮有创意的,对待我们开发者也比较尊重,拍完照,拿着包直接进入了大厅,大厅里比较闷,但还行,争取到了中间座位后就开始循环收看一个老外介绍win8的视频,下午1点半,培训正式开始,可是最初那段记忆 淡忘了,. 阅读全文