中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

Synchronized同步锁

synchronized关键字提供了Java语言内置的锁定机制,满足Java原子性、可见性,每个对象都有可用于提供互斥访问的关联“监视器”。如果两个线程尝试在同一个对象上“同步”,则其中一个需要等待另一个完成才行。

  • 同步方法

    通过在方法声明中加入synchronized关键字来声明synchronized方法。如下代码表示同一时刻只有一个线程在执行func(),而其他线程都必须等待。

    public synchronized void func();
  • 同步代码块

    并发线程访问同一个对象object中的代码块时,一个时间内只能有一个线程得到执行,另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。

    synchronized(object) { //允许访问控制的代码 }