Thanks śr., 14 wrz 2022, 13:26 użytkownik Peter Veentjer <[email protected]> napisał:
> > > On Wed, Sep 14, 2022 at 1:51 PM r r <[email protected]> wrote: > >> Hello, >> let's look for the following piece of code: >> >> int x; >> volatile boolean v; // v = false by default >> T1: >> x = 1; (1) >> v = true; (2) >> doSth (3) >> >> T2: >> doSth2 (4) >> if (v) {} (5) >> >> >> When T2 observes that v == false in (5), does it mean that there is a >> happens-before relation (4) -> (5) -> (2) -> (3)? >> > > No. > > There can't be a happens-before edge between a read of v (5) and a write > of v (4). > > The volatile write/read will be ordered in the synchronization order, but > not in the synchronized-with order and therefore not ordered by > happens-before (since the happens-before order is the transitive closure > of the union of the synchronizes-with order and the program order). > > Only when a volatile read sees a particular volatile write, then there is > a happens-before edge from the write to the read, but never in the opposite > direction. > > >> >> What if v would be AtomicBolean? >> > > Doesn't change anything since an AtomicBoolean get/set has the same > semantics as a volatile read/write. > > > >> -- >> You received this message because you are subscribed to the Google Groups >> "mechanical-sympathy" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web, visit >> https://groups.google.com/d/msgid/mechanical-sympathy/faf3e288-f249-4d07-830b-7752bb41a472n%40googlegroups.com >> <https://groups.google.com/d/msgid/mechanical-sympathy/faf3e288-f249-4d07-830b-7752bb41a472n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "mechanical-sympathy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web, visit > https://groups.google.com/d/msgid/mechanical-sympathy/CAGuAWdCqwmySqhNkHRKZcouwKf0F3oM%3DHb_byqLwY8D3Hyb-Gg%40mail.gmail.com > <https://groups.google.com/d/msgid/mechanical-sympathy/CAGuAWdCqwmySqhNkHRKZcouwKf0F3oM%3DHb_byqLwY8D3Hyb-Gg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/CAFKLJky5%2BaiTCYLgzv38fzyJ8%3DZ1FcOm56UCxdM1mcUJ-4naHA%40mail.gmail.com.
