java - 构造函数内的同步部分和同步构造函数的差异

标签 java concurrency synchronization synchronized

我注意到有趣的行为:

我会写

class My {
     public My(){
        synchronized(this){
            // code
        }

    }  
}

但是我不会写

class My {
         public synchronized My(){
                // code
            }

        }  
    }

我认为这两种结构的工作原理与 java API 相同。

请澄清这个误解。

最佳答案

在第一种情况下,对象几乎被创建,只需要执行构造函数的主体。

但是,在第二种情况下,不会有任何对象要同步。

关于java - 构造函数内的同步部分和同步构造函数的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23337508/

相关文章:

c++ - 确定删除并发队列的安全性

java - 类型参数 G 隐藏了类型 G

java - Hotspot7 hsdis PrintAssembly 英特尔语法

Java:单击 JButton 后图形消失

multithreading - 多线程中的 Vulkan 队列同步

c# - SyncRoot 模式有什么用?

iphone - iPad/iPhone 应用程序之间的云同步

java - Java 线程的恼人行为

java - NetBeans 7.1.2 tomcat/manager 访问配置问题

Java RMI 和同步方法