• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  •  Science >> Vetenskap >  >> Kemi
    Vad är ett atomomfattning?
    I programmering beskriver atomicitet en operations odelbarhet; det vill säga antingen är hela operationen slutförd eller ingen av den. I vissa programmeringsspråk, särskilt Ruby och JavaScript, kallas atomicitet för en *atomär omfattning*.

    För att förstå atomicitet och atomär omfattning, överväg följande, icke-atomära, operationssekvens för att ändra en användares banksaldo:

    1. Läs av saldot från banken.

    2. Subtrahera transaktionsbeloppet från saldot.

    3. Skriv tillbaka saldot till banken.

    För att dessa operationer ska lyckas måste databasen vara låst mellan läsning och skrivning, eftersom annars kan en annan transaktion skriva till databasen mellan dessa två operationer. Dessutom, om något går fel under transaktionen (t.ex. databasen går offline under skrivoperationen), måste operationen misslyckas helt och databasen måste återställas till det tillstånd som den var i innan transaktionen startade.

    Med atomicitet beter sig serien av operationer som en enda operation, eller så misslyckas den helt. Det vill säga, koden för att utföra en given operation är innesluten i ett *atomärt omfång*, och om någon operation i sekvensen misslyckas, rullas hela transaktionen tillbaka, som om ingen av operationerna i sekvensen någonsin hade inträffat.

    En atomomfattning garanterar:

    1. Om ingen operation i omfattningen misslyckas sker alla operationer;

    2. Om någon operation i omfattningen misslyckas sker ingen av operationerna; och

    3. Om någon operation börjar misslyckas rullas alla operationer som redan har inträffat omedelbart tillbaka, vilket återställer systemet till dess tillstånd innan någon av operationerna började.

    © Vetenskap https://sv.scienceaq.com