This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
|
java:synchronization [2017/03/19 18:25] gthanos |
java:synchronization [2017/03/19 18:33] gthanos [Παράδειγμα ασάφειας στις τιμές διαμοιραζόμενων μεταβλητών παράλληλα εκτελούμενων νημάτων] |
||
|---|---|---|---|
| Line 39: | Line 39: | ||
| - το νήμα B αποθηκεύει την τιμή της c | - το νήμα B αποθηκεύει την τιμή της c | ||
| - | Μετά από το παραπάνω σενάριο η τιμή της c θα έπρεπε να παραμένει και πάλι μηδέν καθώς το ένα νήμα την αύξησε και το άλλο την μείωσε. Αντί για αυτό η τιμή της c είναι -1 καθώς η μεταβολή από το νήμα Α στην πράξη δεν έγινε. Για να ήταν | + | Μετά από το παραπάνω σενάριο η τιμή της c θα έπρεπε να παραμένει και πάλι μηδέν καθώς το ένα νήμα την αύξησε και το άλλο την μείωσε. Αντί για αυτό η τιμή της c είναι -1 καθώς η μεταβολή από το νήμα Α στην πράξη δεν έγινε. Για να μεταβληθεί σωστά η τιμή της c η παραπάνω ακολουθία θα έπρεπε να είναι η εξής |
| - το νήμα Α λαμβάνει την τιμή της c | - το νήμα Α λαμβάνει την τιμή της c | ||
| - το νήμα Α αυξάνει την τιμή της c κατά 1 | - το νήμα Α αυξάνει την τιμή της c κατά 1 | ||