Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #10733
| From | Robert Klemme <shortcutter@googlemail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Volatile keyword |
| Date | 2011-12-14 19:39 +0100 |
| Message-ID | <9ks8r2Fld4U1@mid.individual.net> (permalink) |
| References | <41fa02ff-3f20-41bc-90d9-c3f7d3651fbf@n6g2000vbg.googlegroups.com> <jc5ffc$28s$1@dont-email.me> <ddkce71iqujhrsrslsca33a5nep023c4si@4ax.com> <9kodm9FfqrU1@mid.individual.net> <OsmdndL60tQimXrTnZ2dnUVZ_judnZ2d@posted.palinacquisition> |
On 12/13/2011 08:54 AM, Peter Duniho wrote: > On 12/12/11 11:37 PM, Robert Klemme wrote: >> [...]Bottom line is that the JVM spec does not make >> any guarantees here (ยง17.7 see Lew's reference). > > I think it's worth being careful about "does not make any guarantees > here". The implication of 17.7 is that there _is_ in fact a guarantee, > for certain 64-bit fields marked as "volatile". Specifically, those > which are of the type "double" or "long". This is true even on 32-bit > systems. And what guarantee is there? Can you unambiguously formulate that and provide reference to the JLS so everybody can check it? >>> In 32 bit, there is an assembler instruction cmpxchg8b designed to let >>> you implement a light weight atomic 64-bit read. >> >> Since you do not know on what JVM your Java program will run when you >> write it (or at least someone can choose to use a different JVM model) >> it is safer to code under the assumption that a long and double write is >> two operations i.e. not atomic. > > There is no need to make that assumption provided the field involved is > marked "volatile". I beg to differ - but I am eagerly waiting to be convinced otherwise. Cheers robert
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Volatile keyword "raphfrk@gmail.com" <raphfrk@gmail.com> - 2011-12-12 04:51 -0800
Re: Volatile keyword Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-12-12 14:31 +0000
Re: Volatile keyword "raphfrk@gmail.com" <raphfrk@gmail.com> - 2011-12-12 06:52 -0800
Re: Volatile keyword Lew <lewbloch@gmail.com> - 2011-12-12 06:34 -0800
Re: Volatile keyword markspace <-@.> - 2011-12-12 10:00 -0800
Re: Volatile keyword Tom Anderson <twic@urchin.earth.li> - 2011-12-12 18:41 +0000
Re: Volatile keyword Patricia Shanahan <pats@acm.org> - 2011-12-12 11:43 -0800
Re: Volatile keyword Roedy Green <see_website@mindprod.com.invalid> - 2011-12-12 11:15 -0800
Re: Volatile keyword Robert Klemme <shortcutter@googlemail.com> - 2011-12-13 08:37 +0100
Re: Volatile keyword Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-12 23:54 -0800
Re: Volatile keyword Robert Klemme <shortcutter@googlemail.com> - 2011-12-14 19:39 +0100
Re: Volatile keyword Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-14 10:59 -0800
Re: Volatile keyword Patricia Shanahan <pats@acm.org> - 2011-12-14 11:00 -0800
Re: Volatile keyword Robert Klemme <shortcutter@googlemail.com> - 2011-12-14 22:35 +0100
Re: Volatile keyword Roedy Green <see_website@mindprod.com.invalid> - 2011-12-12 10:55 -0800
csiph-web