×

Loading...

共享变量是shared variable吧?和immutable正相反,immutable对应的是值不是变量。如果用event-based,线程之间的数据交流是通过event,而不是用共享的变量。

很多线程读,少数线程写。

要改成很多线程读,一个线程写。

这个时候把这个变量设成immutable,那么当这个对象改变的时候,其实是用一个新的immutable替代了旧的immutable。

这个可以有。

那么读的线程比较版本号来确定自己读到的是不是最新的。

通常没必要,要看你的需求,根据需求也有别的做法。

如果一个immutable的对象真的是不变的,那为啥还要共享呢?

一个就像你说的,通过immutable来节省内存。更重要的是线程之间的数据交流。而用不变的值来交换数据比用变量安全得多。

一个完全固定不变的东西,难道不应该直接就给线程一个值就结束了?

可以这么说。这样你是不是觉得很简单。把复杂的事情简单化,就是使用值代替变量的初衷。

Report

Replies, comments and Discussions: