java - 线程子类中的同步方法
问题描述
我有一个扩展线程的类,并且在其 run() 中调用了另一个方法。我希望该方法同步,线程子类中定义的方法是否可以同步?
解决方案
synchronized
不是方法签名的一部分。它只是将方法体包装在一个块中的简写形式,该块在this
或上同步TheEnclosingClass.class
。
这对子类中的方法有几个后果:
- 您可以使覆盖方法同步,即使覆盖的方法不是。
- 如果您不使覆盖方法同步,则它不会“继承”被覆盖方法的同步性。如果您也希望它同步,则必须明确执行此操作。
推荐阅读
- excel - 无法在自定义文件夹中保存和关闭新创建的工作簿
- c++ - 在类中动态分配二维数组时不断获取“cygwin_exception::open_stackdumpfile”
- angular-material - Angular Material Table:如何突出显示正在排序的列?
- javascript - 无法使用 JwtSecurityTokenHandler().ValidateToken() 读取 CyrptoJS 生成的 JWT
- airflow - Airflow 中的多个 BashOperator 无法识别当前文件夹
- php - PHP mysql数据库两个请求同时在同一张表上
- mocha.js - afterEach 顶层描述
- java - 如何将文件名作为参数传递,创建然后读取文件
- android - 将 Firebase Analytics 安装到我的 React Native Android 版本时遇到问题
- apache-kafka - Spring Cloud Stream 与 Kafka Stream 的 Exactly Once 功能