Request for review: Race conditions in java.nio.charset.Charset (original) (raw)
Ulf Zibis Ulf.Zibis at gmx.de
Thu Oct 8 11:58:55 UTC 2009
- Previous message: Request for review: Race conditions in java.nio.charset.Charset
- Next message: Request for review: Race conditions in java.nio.charset.Charset
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Am 08.10.2009 12:59, David Holmes - Sun Microsystems schrieb:
Hi Ulf,
It's a memory model issue. The code is like this: public String getName() { if (name == null) name = getName0(); return name; } but in theory, accoridng to the JMM experts, it could act as if it does this: public String getName() { String tmp1 = name; // sees null String tmp2 = name; // sees non-null if (tmp2 == null) tmp1 = name = getName0(); return tmp1; } imagine the temporaries are registers.
Oops, java programming is not simple as it looks like. Can you give me a link, where I can read more about that subject / JMM? David, thanks for your explicit explanation.
-Ulf
- Previous message: Request for review: Race conditions in java.nio.charset.Charset
- Next message: Request for review: Race conditions in java.nio.charset.Charset
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]