相关疑难解决方法(0)

为什么Object成员变量在Java中不能是final和volatile?

如果在类中我有一个ConcurrentHashMap实例,它将被多个线程修改和读取,我可能会这样定义:

public class My Class {

    private volatile ConcurrentHashMap<String,String> myMap = new ConcurrentHashMap<String,String>();
...
}
Run Code Online (Sandbox Code Playgroud)

添加final到myMap字段会导致错误,说我只能使用final或volatile.为什么不能两者兼而有之?

java syntax multithreading

35
推荐指数
3
解决办法
9897
查看次数

标签 统计

java ×1

multithreading ×1

syntax ×1