黑马程序员技术交流社区

标题: 同步心得之静态方法同步 [打印本页]

作者: 卞潇洋    时间: 2012-11-22 12:01
标题: 同步心得之静态方法同步
静态方法也可以同步。要保护的静态数据只有一份副本,因此要同步静态方法,而且每个类需要一个锁,用于整个类的锁,存在这样的锁------Java中载入的每个类都有一个对应的代表该类的java.lang.class实例。就是这个实例的锁来保护该类的静态方法。同步静态方法不需要做任何特殊操作:
  1. public static synchronized int getCount(){
  2. return count;
  3. }
复制代码
当然,也可以通过使用同步块代码替换:
  1. public static int getCount(){
  2.      synchronized(MyClass.class){
  3.        return count;
  4. }
  5. }
复制代码
MyClass.class为字面值,用于告诉便衣器找MyClass的类的Class实例

总是记住静态方法与非静态方法同步是两个互不影响的机制即可
作者: 许庭洲    时间: 2012-11-23 07:30
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2