Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #10932
| Date | 2011-12-21 10:56 -0800 |
|---|---|
| From | Patricia Shanahan <pats@acm.org> |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: reading the JLS (17.4.5) |
| References | (1 earlier) <jckv1o$v1v$1@dont-email.me> <slrnjf1iug.fvg.avl@gamma.logic.tuwien.ac.at> <jcqlef$5rp$1@dont-email.me> <B5-dnV9Gn_2ncW3TnZ2dnUVZ_h6dnZ2d@earthlink.com> <slrnjf37mr.fvg.avl@gamma.logic.tuwien.ac.at> |
| Message-ID | <BP-dnedoectFtm_TnZ2dnUVZ_i2dnZ2d@earthlink.com> (permalink) |
On 12/21/2011 12:54 AM, Andreas Leitgeb wrote: > Patricia Shanahan<pats@acm.org> wrote: >> I think "happens-before" should be thought of as short for "must appear >> to happen before". As the JLS says "It should be noted that the presence >> of a happens-before relationship between two actions does not >> necessarily imply that they have to take place in that order in an >> implementation. > > The JLS even explicitly spells out, that to an unrelated thread these > synchronized-with actions may even appear out of order. This is, what > confuses me: > > T1: hb(A,B) - not necessarily observed so by T2 > T1,T2: hb(B,C) > > How would T2 "know" about hb(A,C), if it doesn't know hb(A,B) ? > T2 does not necessarily "know", but must see the appropriate results e.g. from its reads. Making that happen is the Java implementation's problem. How it happens varies depending on the system. In a small, simple system, with a sequentially consistent hardware memory model, it may be as simple as writing out any values that are being held in registers to the appropriate memory locations. In other situations, it may be necessary to use special instructions, such as the SPARC membar, to ensure that prior memory operations are globally visible. Patricia
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
reading the JLS (17.4.5) Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-12-18 12:10 +0000
Re: reading the JLS (17.4.5) markspace <-@.> - 2011-12-18 06:57 -0800
Re: reading the JLS (17.4.5) Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-12-20 17:54 +0000
Re: reading the JLS (17.4.5) markspace <-@.> - 2011-12-20 10:50 -0800
Re: reading the JLS (17.4.5) Patricia Shanahan <pats@acm.org> - 2011-12-20 12:12 -0800
Re: reading the JLS (17.4.5) Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-12-21 08:54 +0000
Re: reading the JLS (17.4.5) Patricia Shanahan <pats@acm.org> - 2011-12-21 10:56 -0800
Re: reading the JLS (17.4.5) markspace <-@.> - 2011-12-21 12:02 -0800
Re: reading the JLS (17.4.5) Patricia Shanahan <pats@acm.org> - 2011-12-18 09:21 -0800
Re: reading the JLS (17.4.5) Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-12-20 18:35 +0000
Re: reading the JLS (17.4.5) Lew <lewbloch@gmail.com> - 2011-12-20 19:08 -0800
Re: reading the JLS (17.4.5) Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-12-21 08:37 +0000
Re: reading the JLS (17.4.5) Patricia Shanahan <pats@acm.org> - 2011-12-21 10:46 -0800
Re: reading the JLS (17.4.5) markspace <-@.> - 2011-12-21 12:09 -0800
csiph-web