分布式编程必须知道的几个基本概念

现在分布式炒的火热,以至于我也忍不住要来说两句,不过我说的却是最基础的概念。

分布式:分布式的概念并不好定义,多个CPU共同处理一件事件算是分布式,多个计算机共同处理一件事也是分布式。我没有找到比较权威的定义,所以我也不乱说了。顺便提一下,分布式的期望是:如果一台计算机能够在5秒钟内完成一个任务,那么5台计算机以并行的方式一起工作就能在1秒内完成这一项工作。当然,这只是期望而己,毕竟大家都知道,进程内的数据传递的开销<进程之间<计算机之间。

对象的传递:
貌似这个概念在一些书中被译为“编组”,不过说实话,编组真的太难理解了。我暂定为传递。主要是说对象从一个进程传递到另一个进程中。对象的传递有两种方式,一种是“按值传递”,一种是“引用传递”,可能看到这里,大家就有点明白了。的确,这根变量的值类型和引用类型差不多。
通过值传递:通过值传递的对象,传递过去的是对象的一个副本,也就是一个拷贝。等同与变量的值类型。
通过引用传递:通过引用传递的对象,传递过去的是一个代理,对象的实际操作,最终仍将在服务器上执行。相当于指针的概念。

按值传递,主要是通过对象的序列化与反序列化来实现的(貌似还有一种称乎叫串行化)。dot net中主要有:二进制序列化,SOAP序列化
按引用传递:对象的类要继承自MarshalByRefObject或它的子类。

posted @ 2008-01-23 23:35  bqrm_521(小奎)  阅读(568)  评论(2编辑  收藏  举报