构造器可以在 Java 中同步吗?
否,在 Java 中无法同步构造器。JVM 确保在给定时间点,只有一个线程可以调用构造器。这就是为什么无需声明构造器为synchronized并且在 Java 中是非法的。但是,我们可以在构造器内部使用synchronized 块。
如果我们尝试在构造器之前放置synchronized关键字,编译器会说“错误:此处不允许使用 synchronized 修饰符”。
示例
public class SynchronizedConstructorTest {
// declaration of synchronized constructor
public synchronized SynchronizedConstructorTest() {
System.out.println("Synchronized Constructor");
}
public static void main(String args[]) {
SynchronizedConstructorTest test = new SynchronizedConstructorTest();
}
}输出
SynchronizedConstructorTest.java:3: error: modifier synchronized not allowed here
public synchronized SynchronizedConstructorTest() {
^
1 error
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP