sách gpt4 ai đã đi

Java "static final"与锁定时仅 "static"变量

In lại 作者:行者123 更新时间:2023-12-01 17:51:58 26 4
mua khóa gpt4 Nike

我一直在阅读有关使用静态对象作为锁的内容,最常见的示例如下:

public class MyClass1 {
private static final Object lock = new Object();
public MyClass1() {
//unsync
synchronized(lock) {
//sync
}
//unsync
}
}

我的问题是锁必须是最终的吗?我知道将其作为最终值是很好的,以确保没有人会混淆该值,但是如果没有最终值,它会起作用吗?

1 Câu trả lời

当然,它会起作用——直到您重新分配它。如果khóa不是最终的,有人可以为其分配另一个值(lock = new Object())。这就像更换门锁一样:如果您仍然拥有旧 key ,您将无法再使用该锁。

Sẽ khóa 设置为最终状态可以防止这种情况发生,因此这样做总是一个好主意。

关于Java "static final"与锁定时仅 "static"变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49105590/

26 4 0
Bài viết được đề xuất: ios - iOS推送通知使用bundleID代替应用名称
Bài viết được đề xuất: java - 关闭 JiraRestClient 的 ssl 证书验证
Bài viết được đề xuất: ios - UITableView的背景色不会在iPad的整个单元格中扩展
Bài viết được đề xuất: java - 如何在方法外部访问字符串
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com