Java多线程synchronized修饰的函数

class MyThread extends Thread{
    private int count = 50;

    synchronized public void run(){
        count --;
        System.out.println(Thread.currentThread().getName() + ":.." + count);
    }
}

用synchronized修饰的函数体即是一个同步代码块,可以限制不同线程对count参数的读写。

实例锁和全局锁
synchronized 是实例锁(锁在某一个实例对象上,如果该类是单例,那么该锁也具有全局锁的概念)

static synchronized 是全局锁(该锁针对的是类,无论实例多少个对象,那么线程都共享该锁)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容