首页 > 其他 > 详细

synchronized锁住的是什么

时间:2015-11-28 13:26:15      阅读:161      评论:0      收藏:0      [点我收藏+]

synchronized(Object.class)锁住的是Object.class对象,如下,若有某个方法如此加锁,那么该类的所有方法在此方法被某个线程使用时都被锁住。

    public String[] split() {
        synchronized (Path.class) {
...
       }
    }

 一般锁住Path.class是因为该类中提供了静态方法,为了保证静态方法的多线程共享时互斥,必须使用使用此种加锁方式锁住所有可能被多线程使用的方法。

 

synchronized(this) 等加锁代码块,加锁方法都是对对象上锁,某个线程调用了任一个上锁的地方,此对象的所有方法都被锁住。

 

加锁是为了防止多线程同时访问同一个内存块,所以不难理解上述描述。

synchronized锁住的是什么

原文:http://www.cnblogs.com/fordreamxin/p/5002467.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!