论坛首页 Java企业应用论坛

单例模式结合观察者模式

浏览 9713 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (7) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-12-26  
sonyfe25cp 写道
hxpterry 写道
个人觉得有这样几个问题:
1.getInstance()方法层中访问冲突,应该同步,加上synchronized
2.如果putElement()函数没程序区调用或很长时间才调用,那里面现有的数据岂不是一直不会写到数据库

确实有上述问题

1.访问冲突..这个还没想清楚..=.= 我测试测试
2.这个确实是有的。主要我的系统中要存的这些都是用户信息..所以..少那么几个..或者延迟了..都影响不大..只要迟早能进库就行..不是那种安全性和实时性很高的.


不是那种安全性和实时性很高的, 为什么不直接用各线程直接写到数据库? 把程序搞这么复杂干嘛?让程序简单、健壮的运行才是王道!
0 请登录后投票
   发表时间:2009-12-28  
并发不高,直接每次都直接存储到数据库,
0 请登录后投票
   发表时间:2010-01-06  
sonyfe25cp 写道
hxpterry 写道
个人觉得有这样几个问题:
1.getInstance()方法层中访问冲突,应该同步,加上synchronized
2.如果putElement()函数没程序区调用或很长时间才调用,那里面现有的数据岂不是一直不会写到数据库

确实有上述问题

1.访问冲突..这个还没想清楚..=.= 我测试测试
2.这个确实是有的。主要我的系统中要存的这些都是用户信息..所以..少那么几个..或者延迟了..都影响不大..只要迟早能进库就行..不是那种安全性和实时性很高的.


确实,楼主代码中的很多方法都没有考虑多线程的问题,不止getInstance()这个。

0 请登录后投票
   发表时间:2010-01-07  
刃之舞 写道
并发不高,直接每次都直接存储到数据库,

是的,相信数据库的同步,比自己写保险的多。
0 请登录后投票
   发表时间:2010-01-15  
tjgamejx2 写道
楼主实现的不就是一个缓存么,应该用HashTable好些。

也可以用时间线程定期数据入库。

------------------------------

有一个我不明白,为什么要开单例。为了什么?

==============================

你用单例就是为了让这几个线程共享内存啊,你传全局参不就行了吗。

如果你的意思是,这几个线程不是运行在一个容器里(比如一个servlet,一个main方法),让他们共享内存的话,结果是:他们是共享不到资源的。单例只是在一个进程中单例,只能这一个进程中的多个线程才能共享资源的。



有同感!
0 请登录后投票
   发表时间:2010-01-18  
servlet必须要singlone吗?
我记得rod大牛批评过singlone模式,说这个模式限制很多,。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics