上一页 1 ··· 9 10 11 12 13 14 下一页
摘要: Remoting是NET平台下比较成熟高效的分布式技术,我们习惯采用传统的远程调用的方式使用Remoting。在客户端所在的Application Domain,我们通过Proxy(Transparent Proxy)远程地跨Application Domain调用一个方法。当来自Client端的调用请求通过Proxy到达Server端所在的Application Domain后,Remoting Infrastructure在Server 端激活(Activate)相应的远程对象(一个继承子System.MarshalByRefObject类对象)——这里仅仅以服务端激活对象(Server 阅读全文
posted @ 2010-12-07 13:55 Taylor的园子 阅读(420) 评论(0) 推荐(1)
摘要: 我所理解的Remoting(1):Marshaling & Activation - Part I什么是Marshaling &Activation对任何一项分布式技术(Distributed Technology),比如Remoting,XML Web Service,Enterprise Service,Marshaling和Activation(对于Marshaling,我实在是找不到一个比较贴切的中文短语来翻译,很多书把它翻译成封送,我总觉得很别扭,所以在这里我就直接用英文Marshaling,如果读者有较好的翻译,麻烦通知我一下)都是必须要解决的问题。本Blog主要讲述的是在Remo 阅读全文
posted @ 2010-12-07 13:55 Taylor的园子 阅读(1213) 评论(0) 推荐(0)
摘要: Multi-threading in .NET: Introduction and suggestionsOne of the greatest understatements I've heard in a newsgroup was made by Patricia Shanahan, in a Java newsgroup in 2001: "Multi-threaded programming needs a little care." Multi-threading is probably one of the worst understood aspects of programm 阅读全文
posted @ 2010-12-07 13:49 Taylor的园子 阅读(666) 评论(0) 推荐(0)
摘要: 最近看了看.NET异步调用方面的资料,现择重点总结,若有纰漏敬请指正。异步调用的实质:异步调用通过委托将所需调用的方法置于一个新线程上运行,从而能够使一个可能需要较长时间的任务在后台执行而不影响调用方的其他行为。异步调用的实现:前面已经说道,异步调用通过委托实现。委托支持同步和异步调用。在同步调用中,一个委托的实例可记录多个目标方法;在异步调用中,一个委托实例中有且只能包含一个目标方法。异步调用使... 阅读全文
posted @ 2010-11-30 17:02 Taylor的园子 阅读(495) 评论(0) 推荐(0)
摘要: .NET多线程同步方法详解(一):自由锁(InterLocked) 本文主要描述在C#中线程同步的方法。线程的基本概念网上资料也很多就不再赘述了。直接接入主题,在多线程开发的应用中,线程同步是不可避免的。在.Net框架中,实现线程同步主要通过以下的几种方式来实现,在MSDN的线程指南中已经讲了几种,本文结合作者实际中用到的方式一起说明一下。1. 维护自由锁(InterLocked)实现同步2. 监... 阅读全文
posted @ 2010-11-30 16:58 Taylor的园子 阅读(1576) 评论(1) 推荐(0)
摘要: 线程相关的概念1.线程同步ManualResetEventSet()方法将状态设置为有信号Reset()将其设置为无信号WaitOne()将阻塞到其有信号为止,若调用WaitOne的时刻就是有信号的,将不会阻塞AutoResetEvent与ManualResetEvent的区别是,AutoResetEvent.WaitOne()会自动改变事件对象的状态,即AutoResetEvent.WaitOn... 阅读全文
posted @ 2010-11-30 16:45 Taylor的园子 阅读(661) 评论(1) 推荐(0)
摘要: EventWaitHandle类表示一个线程同步事件。该类存在于mscorlib.DLL中。EventWaitHandle类允许线程通过发信号的方式互相通信。 通常,一个或多个线程在EventWaitHandle上被阻止,直到一个未阻止的线程通过调用Set()方法,来释放一个或多个被阻止的线程。线程可以通过调用SignalAndWait()方法(该方法为静态函数)以原子操作的方式,向EventWa... 阅读全文
posted @ 2010-11-30 16:44 Taylor的园子 阅读(1550) 评论(0) 推荐(0)
摘要: 本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始,希望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。让我们来看看这几个类的关系图: 1.lock关键字 lock是C#关键词,它将语句块标记为临界区,确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果... 阅读全文
posted @ 2010-11-30 16:38 Taylor的园子 阅读(373) 评论(0) 推荐(0)
摘要: C#中使用Monitor类、Lock和Mutex类来同步多线程的执行在多线程中,为了使数据保持一致性必须要对数据或是访问数据的函数加锁,在数据库中这是很常见的,但是在程序中由于大部分都是单线程的程序,所以没有加锁的必要,但是在多线程中,为了保持数据的同步,一定要加锁,好在Framework中已经为我们提供了三个加锁的机制,分别是Monitor类、Lock关键字和Mutex类。其中Lock关键词用法... 阅读全文
posted @ 2010-11-30 16:37 Taylor的园子 阅读(214) 评论(0) 推荐(0)
摘要: 本篇继续介绍WaitHandler类及其子类Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实,我们抛开.NET环境看线程同步,无非是执行两种操作:一是互斥/加锁,目的是保证临界区代码操作的“原子性”;另一种是信号灯操作,目的是保证多个线程按照一定顺序执行,如生产者线程要先... 阅读全文
posted @ 2010-11-30 16:35 Taylor的园子 阅读(356) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 下一页