12 2012 档案
摘要:最近工作闲暇之际,翻阅了以前保存的电子书《C#多线程编程手册》,发现此书同步技术这块写的甚好,于是参考此书并结合实例,对同步技术做一下总结和分析,也算是读书笔记与心得体会吧,并与大家分享。书中提到的同步技术有很多种,归纳起来常用的方式有以下几种:1、利用属性标签方式进行方法同步和上下文同步:MethodImplAttribute 类 和 SynchronizationAttribute 类2、同步代码区:Monitor 类、Lock 关键字、ReaderWriterLock 类。3、手控同步:AutoResetEvent 类、ManualResetEvent 类、Mutex 类、Interlo
阅读全文
摘要:前些日子,看到园子里面有人用老王喝茶的例子讲解了一下同步和异步,虽然没有代码实现,但是能够通俗易懂的讲解了同步、异步、阻塞、非阻塞的关系了,今天借题发挥,用一个热水器加热洗澡的例子来具体演示一下C#使用委托进行异步编程。首先引用MSDN中的一段话来描述一下如何使用异步方式.NET Framework 允许您异步调用任何方法。 为此,应定义与您要调用的方法具有相同签名的委托;公共语言运行时会自动使用适当的签名为该委托定义 BeginInvoke 和 EndInvoke 方法。BeginInvoke 方法启动异步调用。 该方法与您需要异步执行的方法具有相同的参数,还有另外两个可选参数。 第一个参数
阅读全文