Asynklitismi

Mikä on asynkronia ja miksi se ilmenee?

Asynkronisuus on ilmiö, jossa kahden toiminnon tai prosessin välillä on aikaviive. Tämä voi johtua useista syistä, kuten laitteiden ja ohjelmistokomponenttien välisen vuorovaikutuksen monimutkaisuudesta, pitkistä laskutoimituksista, verkon latenssista tai inhimillisistä virheistä johtuvista viiveistä. Asynkronisuus on tilanne, jossa jotkin toiminnot estävät muita, jotka odottavat niiden valmistumista suoritusjonossa. Tämä tapahtuu yleensä esimerkiksi relaatiotietokantajärjestelmän sisällä suoritettaessa DML (Data Manipulation Language) -tietojen muokkaustoimintoja (UPDATE, DELETE, INSERT). Niitä pidetään "estävinä", ts. keskeyttää muut tietokantaan pääsyn toiminnot, kunnes heidän työnsä on valmis.

> Harkitse asynkronian seurauksia - kun yrität suorittaa kaksi vahvasti riippumatonta kyselyä samassa taulukossa samassa sovelluksessa: 1. Ensimmäinen kysely päivittää yhden rivin taulukossa, jossa on kolme kenttää. 2. Toinen kysely vertaa kaupungin nimeä ja määrää PÄIVITYS-taulukkotoiminnossa. 3. Seurauksena saamme onnettomuuden, riippuen sen koodin valmisteluasteesta, sen arkkitehtuurista ja tästä koodista vastaavan kehittäjän tietämyksen tasosta. Samat ohjelmat voivat toimia normaalisti yhdessä tietokoneessa, mutta kieltäytyä toimimasta toisella. Epäonnistumisen syyt ovat erilaisia: yleisrajan ylityksestä RAM-muistin fyysiseen loppumiseen. Tässä tapauksessa esimerkiksi jos otat puhtaalla C-kielellä kirjoitetun ohjelman (ilman SQL-kehystä), muokkaat sitä Access-kyselyitä varten ja siirrät ohjelman toiseen tietokoneeseen, jossa on Windows XP, niin saat