×

Loading...

比如我有一个共享变量,多读少写的那种

很多线程读,少数线程写。这个时候把这个变量设成immutable,那么当这个对象改变的时候,其实是用一个新的immutable替代了旧的immutable。那么读的线程比较版本号来确定自己读到的是不是最新的。

如果这个例子还不清楚的话,那就再多问一句。如果一个immutable的对象真的是不变的,那为啥还要共享呢?一个完全固定不变的东西,难道不应该直接就给线程一个值就结束了?

当然,如果你说象string那样,通过immutable来节省内存。这是对的。但是它的另一个重大好处就是共享变量。我谈的是这一部分。
Report

Replies, comments and Discussions: