当前位置: 代码迷 >> 综合 >> Net Remoting Singleton and Singlecall 区别
  详细解决方案

Net Remoting Singleton and Singlecall 区别

热度:51   发布时间:2024-01-09 10:07:50.0
.Net Remoting Singleton and Singlecall in concurrent enviroment
 
     本来我老人家打算说说这一阵子看的片子, 而不是写这种无聊的技术贴, 写了几句发现写的巨无聊, 既然同样是无聊, 那写技术贴有可能会给那些和我碰到同样问题的人提供一点帮助, 所以我决定写技术贴.
 
     对于.Net技术我一直以来都非常的缺乏热情, 大概写过c语言的人都容易不适应什么东西都不在自己掌控之下的情况. 没有热情也要用, 这个是工作, 但是因为缺乏兴趣导致的结果就是没有去主动了解相关的知识, 进一步的结果就是当碰到问题的唯一的反映就是麻爪.    

    先说说我碰到的问题, 简而言之, 当被并发调用的.Net Remoting Service的Remote Object有某个接口(Method)中有一个慢速操作的时候, 我们应该使用.Net Remoting 调用方式中的Singleton还是Singlecall, 以及原因. 
    自问自答, 应该使用Singlecall, 原因, 在并发情况下, 用Singleton访问Remote Object的接口(Method), .Net Remoting会自动给所调用的接口(Method)加锁作同步机制, 就是说所有的并发调用会被串行化, 假如一个接口(Method) Foo() 需要执行2秒钟, 有100个.Net Remoting Client访问这个Foo() Method, 点被(运气差)点那个Client要在200秒之后才能得到结果, 而对Singlecall, 如果忽略cpu线程切换的时间(至少比秒低2个数量级), 只要2秒, 100个
  相关解决方案