L landina Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-09 #1 第一次启动Com对象要发1.305秒,我可是P4的CPU,256MDDR。 第二次运行:10ms 关闭客户端后重新启动,结果和上面的一样。 为什么?
X xeen Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-09 #2 第一次实现Com对象的 DLL 或 EXE 文件要被掉入内存,第二次就不用了。
L landina Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-09 #4 所有的对象是否对每个用户缓存一次? 如果用户多的话那会出现什么结果? 有没有办法当计算机启动的时候就缓存? Ado的执行效率为什么没有这么慢?
W wr960204 Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-09 #5 缓存是操作系统做的,当你使用过这些数据后他就把这些数据装入缓存。 当用户再次调用时,操作系统会先到缓存中找,如果存在就从缓存装入,否则从磁盘调入。 很明显内存是比磁盘速度快得多。 如果缓存满了后面的就会冲掉前面的。用户多的话也无所谓,只不过是后面的把前面的冲掉而已。 可以在计算机启动时就把COM加载进来。 例如MS Office就是再启动项中把COM加载进来,来提高Office的启动速度。
缓存是操作系统做的,当你使用过这些数据后他就把这些数据装入缓存。 当用户再次调用时,操作系统会先到缓存中找,如果存在就从缓存装入,否则从磁盘调入。 很明显内存是比磁盘速度快得多。 如果缓存满了后面的就会冲掉前面的。用户多的话也无所谓,只不过是后面的把前面的冲掉而已。 可以在计算机启动时就把COM加载进来。 例如MS Office就是再启动项中把COM加载进来,来提高Office的启动速度。
Q qianwt Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-09 #6 COM中有引用基数,比如第一次连接的时候,系统回启动COM并把引用基数设置为1, 然后再有客户端连接,就只会把引用基数加1,不需要启动COM的,当客户端短开 连接的时候,引用基数减1,并判断基数是否为零,若为零COM自己也会释放掉
COM中有引用基数,比如第一次连接的时候,系统回启动COM并把引用基数设置为1, 然后再有客户端连接,就只会把引用基数加1,不需要启动COM的,当客户端短开 连接的时候,引用基数减1,并判断基数是否为零,若为零COM自己也会释放掉