请问我用监视者模式实现资源的监听会浪费很多的资源吗?

zhangbo198294 07-05-26
    

我想用监视者模式实现一个资源的监听,当资源发生改变的时候负责通知使用了该资源的用户进行更新,但不知道会不会因此产生很大的性能开销?或者哪位朋友能告诉我更好的变法实现这个功能吗?在线用户数量是100个人左右?请高手指点一二谢谢!

    

banq
2007-05-30 13:24

是的,当然有性能开销,监听者也是线程在运行的。

但是Java魅力就在于此,java架构总是从小到大可伸缩的,不会被一个问题憋死,如果你的访问量大了,使用监听者明显影响性能,可以将监听者线程从当今服务器中迁移到其他服务器上,这个扩展技术就是JMS,可以集群,多台服务器支持监听。

zhangbo198294
2007-05-31 09:45

谢谢banq的指点 我还想到了个办法不过还没测试性能会怎么样 就是启动一个单独的后台线成去做这件事情,第一次初始化资源后此线程就是wait(),session里有个保存资源是否更新的状态标志(时间搓),然后用户调用更新资源方法后,此线程就恢复运行,遍力需要更新资源的用户.