同步的疑惑,jive真的实现同步了么?
synchronized关键词一般用于虚拟锁,锁住的不是方法或代码,而是调用这个方法的对象。例如,对于一个构造函数Test(int n),由于变量n的不同,可以构造出不同的Test对象a和b,如果a、b同时访问同步区域,结果只会使synchronized形同虚设!
a和b如果要同时访问同步方法,只有该同步方法为static时才能达到同步的目的,否则,a调用a的方法,b调用b的方法,即使方法声明为同步的,但在不同对象域中它们根本达不到同步的目的。
-------------------
看了上面某个java高手的论述,联想到jive中许多数据库操作类如DbFourm()中的同步方法,不禁汗颜:DbForumfactory就不说了,是单一实例,而DbForum呢,它们真的都实现同不了么?