在Java中,synchronized关键字可以用于方法级别的同步,也可以用于代码块级别的同步。当synchronized关键字用于static方法时,锁定的是类的Class对象。

假设有两个请求同时到达一个机器,但访问不同的static synchronized方法。由于这两个请求访问的是不同的方法,即使它们都使用了synchronized关键字,它们也不会发生锁等待。因为每个方法都锁定了不同的对象,即各自方法所属的Class对象。

换句话说,static synchronized方法之间没有竞争关系,可以并发执行。每个方法都会锁定自己所属的Class对象,而不会相互影响。因此,这两个请求可以同时执行,而不会发生锁等待。

synchronized作用在static方法上两个请求同时到了一个机器但访问不同的static synchronized方法会发生锁等待么

原文地址: https://www.cveoy.top/t/topic/iM4k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录