Java >> Java tutorial >  >> Tag >> volatile

Fuld flygtig synlighedsgaranti

Det hele handler om happens-before forhold.

Dette forhold er ganske enkelt en garanti for, at hukommelsesskriver ved en specifik sætning er synlige for en anden specifik erklæring.

  1. I samme tråd,

        this.years  = years;
        this.months = months;
    

    happens-before :

        this.days   = days;
    
  2. I en anden tråd skrives flygtig variabelhappens-before læsetråden, der læste den flygtige variabel.

Og happens-before forholdet har transitivitet. Når læseren ser den nye værdi af den flygtige variabel days , kan den også læse den friske værdi af years og months .


Java tag