java - 如果我对静态方法进行类级别锁定,并且如果一个线程执行它,那么它会阻止其他线程执行同一类的其他实例方法吗?

标签 java multithreading synchronized

假设我们有一个类,其中有一个实例方法和静态方法。我们在具有类级锁的静态方法中具有同步块(synchronized block),并且在具有对象级锁的实例方法中具有同步块(synchronized block)。因此,假设当一个线程开始执行静态方法并进行类级别锁定时,同时另一个线程尝试执行实例方法。那么第二个线程会被阻止执行实例方法吗?

最佳答案

第二个线程不会被阻塞。类级别锁和本类对象级别锁,两个锁不同,但可以互相重入

关于java - 如果我对静态方法进行类级别锁定,并且如果一个线程执行它,那么它会阻止其他线程执行同一类的其他实例方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43626926/

相关文章:

java - 在 Java 中,如何知道 "synchronized"代码花费了多少时间?

java - 正则表达式查找 "lastname, firstname middlename"格式

java - java和条件问题(生命游戏)

java - 在 JFugue 中暂停音乐

java - 线程不同时运行

Java 语法 : "synchronized (this)"

java - 在实例对象上同步

java - Wireshark 校验和不匹配

java - 更改和改进了从 Web Servlet 到 Web 服务的数据传递

java - 在不阻塞 GUI 的情况下为多个线程使用多个进度条