java - 为什么我们不能在 Java 中将整个类声明为同步的?

标签 java multithreading synchronize

我是 Java 新手 我只想知道如果 Java 中的整个类都同步,可能会出现什么问题?我知道类级别锁定的概念,这是不同的。

最佳答案

将整个类标记为synchronized 会产生误导。尽管在某些情况下,使类的所有方法同步 非常有意义,但类通常包含其他无法同步 的声明。

例如,类构造函数不能标记为synchronized。类的字段也是如此。人们可能会错误地假设标记为 synchronized 的类中的字段将以同步方式访问,但这不是 Java 自动执行的操作。当然,语言设计者可以声明类级别的 synchronized 仅适用于方法,但这样的决定有些武断。

关于java - 为什么我们不能在 Java 中将整个类声明为同步的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36683851/

相关文章:

java - 从代码渲染一个 jsp 页面并将渲染后的 html 输出作为字符串

c# - 这是状态消息显示的最佳方式吗?

Python 和线程与 PyPy?

ssh - Ansible在使用同步时提示密码

java - LibGDX 让世界移动,但玩家不动

java - 如何从本地超链接调用Java程序?

java - 按分隔符数量拆分字符串

java - Jersey 的多线程

java - 使用通知/等待在 Java 中停止/重新启动线程

ftp - 将本地文件夹与FTP同步