码迷,mamicode.com
首页 > 其他好文 > 详细

synchronized锁住的是什么

时间:2015-11-28 13:26:37      阅读:135      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!