From http://blog.csdn.net/sunstone/article/details/5282666 DataSnap高级技术(7)—TDSServerClass中Lifecycle生命周期三种属性说明 Lifecycle 三种属性: Session.Invocation.Server 这三种属性都用在什么情况,有什么要注意的事项,Delphi2010中罕有说明. 如果乱用这三种属性,你的服务程序有可能崩溃,数据混乱,内存占用大,效率低等问题! 下面我对这三种属性的使用环境逐一介…
Lifecycle 三种属性: Session.Invocation.Server 这三种属性都用在什么情况,有什么要注意的事项,Delphi2010中罕有说明. 如果乱用这三种属性,你的服务程序有可能崩溃,数据混乱,内存占用大,效率低等问题! 下面我对这三种属性的使用环境逐一介绍: 1. Session 说明:这是delphi2010中默认属性,也是delphi推荐设置.Session会为每个来自客户端的链接,建立一个线程来实例化.实例化是什么概念呢?就是这个线程把所有你将要用到的类.函数等等…
一. 为DataSnap系统服务程序添加描述 这几天一直在研究Delphi 2010的DataSnap,感觉功能真是很强大,现在足有理由证明Delphi7该下岗了. DataSnap有三种服务模式,其中Service Application方式建立的windows服务没有描述,描述部分是空的,感觉总是欠缺点什么. 现找到办法添加描述: procedure TServerContainer2.ServiceAfterInstall(Sender: TService); var reg: TRegi…
原文:WPF中实现PropertyGrid(用于展示对象的详细信息)的三种方式 由于WPF中没有提供PropertyGrid控件,有些业务需要此类的控件.这篇文章介绍在WPF中实现PropertyGrid的三种方式,三种方式都是俺平时使用时总结出来的. 第一种方式:使用WindowsForm的PropertyGrid控件. 用过WPF的童鞋都晓得,可以通过WindowsFormsHost将WindowsForm的控件宿主到WPF中使用.很简单,分为简单的3步. 第一步:引用dll:在WPF应用程…
1.同步要领 下面的表格列展了.NET对协调或同步线程动作的可用的工具:                       简易阻止方法 构成 目的 Sleep 阻止给定的时间周期 Join 等待另一个线程完成                       锁系统 构成 目的 跨进程? 速度 lock 确保只有一个线程访问某个资源或某段代码. 否 快 Mutex 确保只有一个线程访问某个资源或某段代码.可被用于防止一个程序的多个实例同时运行. 是 中等 Semaphore 确保不超过指定数目的线程访问某…
DelphiXE2中的DataSnap中提供了三种不同的生命周期,开发人员可以在TDSServerClass控件的LifeCycle特性中设定,下面分别说明每一种生命周期的意义 1. Server:在整个DataSnap服务端中只会建立一个服务端类别对象以服务所有的用户端,只有当DataSnap服务器结束 才会释放该服务类别对象 2. Session:在DataSnap服务器中会为每一个连接的用户端建立一个专属的服务类别对象服务此用户端,移动用户端结束 或是关闭TSQLConnection的连接…
BeanFactory和ApplicationContext Spring的IoC容器就是一个实现了BeanFactory接口的可实例化类. Spring提供了两种不同的容器: 一种是最基本的BeanFactory,另一种是扩展的ApplicationContext. BeanFactory 仅提供了最基本的依赖注入支持 ApplicationContext 则扩展了BeanFactory ,提供了更多的额外功能. 实例化这两种容器时是有区别的: 1.BeanFactory XmlBeanFac…
char *c[]={"ONE","TWO","THREE","FOUR"}; // c语言中定义了一个字符串数组(也称二维字符数组),此时的c是一个二级指针 cout << c[] << endl; // 输出为 ONE ,c + , c + , c}; // 定义一个指针型的 指针数组, 存放 那几个字符串的首地址 char ***cpp = cp; // cp数组的首地址 printf("…
原文://http://www.cnblogs.com/miniwiki/archive/2010/06/18/1760540.html 文章系参考转载,英文原文网址请参考:http://www.albahari.com/threading/ 作者 Joseph Albahari,  翻译 Swanky Wu 中文翻译作者把原文放在了"google 协作"上面,GFW屏蔽,不能访问和查看,因此我根据译文和英文原版整理转载到园子里面. 本系列文章可以算是一本很出色的C#线程手册,思路清晰…
---恢复内容开始--- 说起lazy_object,首先想到的是django orm中的query_set.fn.Stream这两个类. query_set只在需要数据库中的数据的时候才 产生db hits.Stream对象只有在用到index时才会去一次次next. 例子: f = Stream()         fib = f << [0, 1] << iters.map(add, f, iters.drop(1, f)) 1行生成了斐波那契数列. 说明: f是个lazy的…