Re: My (lack of )wisdom about threads
On Sun, 24 May 2009, Lew wrote:
Roedy Green wrote:
IF you can arrange that threads don't modify the same variables, just
look at the same final variables, there is nothing to threads.
Arne Vajh?j wrote:
Not true.
There can still be both visibility and atomicity problems.
Mark Space wrote:
No, I think Roedy is correct. *Final* variables are treated specially by
the JVM, and are thread safe.
Not always. Final variables can point to mutable objects. Such accesses
must be synchronized to be thread safe.
Access to the final variables don't need to be - access to the non-final
variables in the referents do. But what Roedy said was "IF you can arrange
that threads don't modify the same variables, just look at the same final
variables", so if you're following his advice, there won't be any
non-final variables. So he *is* right. It's worth clarifying that his
advice means not using any non-final variables even in referred-to
objects, but if that's what you were saying, then it would be worth
clarifying that you were making a clarification!
tom
--
I hate to advocate drugs, alcohol, violence, or insanity to anyone,
but they've always worked for me. -- Hunter S. Thompson