java - 如何检查某个对象是否在 Java 中被锁定?
问题描述
对于对象的同步访问,以下模式很常见:
Object lock = new Object();
@GuardedBy("lock")
Object sharedObject;
其中锁用作同步(锁){}。注释很好,但没有强制执行。我想做这样的事情:
class SyncedReference<T> {
Object lock;
T value;
SyncedReference(Object lock) {}
T get() {
if (!isLocked(lock)) {
throw new IllegalStateException();
}
return value;
}
boolean isLocked() {
// How to do this?
}
}
我的问题是如何实现 isLocked() 方法?
解决方案
推荐阅读
- python - django-admin-sortable 不保存现有对象的顺序
- php - 通过表格携带变量的并发症
- tensorflow - TensorFlow Eager Execution - 嵌套渐变带
- matlab - 如何为不同的文件执行matlab代码?
- macros - 为什么通过 `use some_crate::derive_foo` 导入自定义派生 Foo 不起作用?
- c++ - 删除列表中的第 n 个元素
- python - 熊猫:查找单元格索引:不区分大小写
- java - java.lang.NullPointerException Firebase
- c# - 为什么将 DBContext 放入 IMemoryCache (.NET Core / EF Core) 后被释放
- python-3.x - 在 Python 3 中将文件路径分配给变量