Ασυγκλιτισμός

Τι είναι η ασυγχρονία και γιατί συμβαίνει;

Η ασυγχρονία είναι ένα φαινόμενο όπου υπάρχει μια χρονική καθυστέρηση μεταξύ δύο ενεργειών ή διεργασιών. Αυτό μπορεί να συμβεί για διάφορους λόγους, όπως η πολυπλοκότητα των αλληλεπιδράσεων μεταξύ συσκευών και στοιχείων λογισμικού, μεγάλοι υπολογισμοί, καθυστέρηση δικτύου ή χρονικές καθυστερήσεις λόγω ανθρώπινου λάθους. Ο ασύγχρονος είναι μια κατάσταση κατά την οποία ορισμένες λειτουργίες μπλοκάρουν άλλες που περιμένουν να ολοκληρωθούν με σειρά ουράς εκτέλεσης. Για παράδειγμα, αυτό συμβαίνει συνήθως μέσα σε ένα σχεσιακό DBMS κατά την εκτέλεση DML (Data Manipulation Language) - λειτουργίες τροποποίησης δεδομένων (UPDATE, DELETE, INSERT). Θεωρούνται «μπλοκαρίσματα», δηλ. αναστολή άλλων λειτουργιών πρόσβασης στη βάση δεδομένων μέχρι να ολοκληρωθεί η εργασία τους.

> Εξετάστε τις συνέπειες του ασυγχρονισμού - όταν προσπαθείτε να εκτελέσετε δύο ισχυρά ανεξάρτητα ερωτήματα έναντι του ίδιου πίνακα εντός της ίδιας εφαρμογής: 1. Το πρώτο ερώτημα ενημερώνει μια σειρά σε έναν πίνακα με τρία πεδία. 2. Το δεύτερο ερώτημα συγκρίνει το όνομα της πόλης και το ποσό στη λειτουργία του πίνακα ΕΝΗΜΕΡΩΣΗ. 3. Ως αποτέλεσμα, έχουμε ένα ατύχημα, ανάλογα με τον βαθμό προετοιμασίας του κώδικά του, την αρχιτεκτονική του και το επίπεδο γνώσεων του υπεύθυνου προγραμματιστή για αυτόν τον κώδικα. Τα ίδια προγράμματα μπορεί να λειτουργούν κανονικά σε έναν υπολογιστή, αλλά να αρνούνται να εργαστούν σε άλλον. Οι λόγοι για την αποτυχία ποικίλλουν: από την υπέρβαση του ορίου γενικών εξόδων έως τη φυσική εξάντληση της μνήμης RAM. Σε αυτήν την περίπτωση, για παράδειγμα, εάν πάρετε ένα πρόγραμμα γραμμένο σε καθαρή γλώσσα C (χωρίς το πλαίσιο SQL), το τροποποιήσετε για ερωτήματα της Access και μεταφέρετε το πρόγραμμα σε άλλον υπολογιστή με Windows XP, τότε θα λάβετε