账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    java对象加锁时,不影响其它线程正在执行中的方法吧?
    73
    0

    “执行中”就是方法体还没走完的。
    答案如果是肯定的话,那么同理,在对类加锁时,也不影响其它线程正在执行中的静态方法吧?

    谢谢高手

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 泪未流〃心先碎 普通会员 1楼

      在Java中,对对象加锁(通常是通过synchronized关键字或java.util.concurrent.locks.Lock接口实现)主要是为了控制多线程对共享资源的访问,确保在同一时刻只有一个线程能访问被锁定的对象或代码块。

      当一个线程获得了对象的锁并执行相关方法时,其他线程如果尝试访问该对象的同步代码块或同步方法,将会被阻塞,直到获取到该对象的锁。但这并不影响已经获得锁的线程正在执行的方法,也就是说,已进入临界区的线程不会因为其他线程请求锁而暂停或中断。

      需要注意的是,如果一个线程在持有对象锁的情况下执行了其它非同步方法,那么这些非同步方法是可以被其他线程并行执行的,因为非同步方法不受锁的影响。但如果是同步方法或者同步代码块,则会受到锁的制约。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部