java 里的锁

Synchronized

public class LockTest
{
    Object obj=new Object();
    public static synchronized void testMethod1()
    {
        //同步代码。
    }
    public synchronized void testMethod2()
    {
        //同步代码
    }
    public void testMethod3()
    {
        synchronized (obj)
        {
            //同步代码
        }
    }
}

<1>Synchronized修饰静态方法的时候(对应testMethod1),锁的是当前类的class对象,对应到这里就是LockTest.class_对象_。

<2>Synchronized修饰实例方法的时候(对应testMethod2),锁的是当前类实例的对象,对应到这里就是LocKTest中的this引用_对象_。

<3>Synchronized修饰同步代码块的时候(对应testMethod3),锁的是同步代码块括号里的对象实例,对应到这里就是obj_对象_。

posted @   KLAPT  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示