This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:synchronization [2017/03/19 18:24] gthanos [Παράδειγμα ασάφειας στις τιμές μεταβλητών παράλληλα εκτελούμενων νημάτων] |
java:synchronization [2017/03/19 18:27] gthanos |
||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== Παράδειγμα ασάφειας στις τιμές διαμοιραζόμενων μεταβλητών παράλληλα εκτελούμενων νημάτων ===== | ===== Παράδειγμα ασάφειας στις τιμές διαμοιραζόμενων μεταβλητών παράλληλα εκτελούμενων νημάτων ===== | ||
| - | Στο παρακάτω παράδειγμα κώδικα ας υποθέσουμε ότι ένα αντικείμενο της κλάσης Counter διαμοιράζεται μεταξύ δύο νημάτων. Η ασάφεια ως προς τις τιμές μίας μεταβλητής παρουσιάζεται όταν δύο νήματα προσπαθούν ταυτόχρονα να μεταβάλλουν την τιμή | + | Στο παρακάτω παράδειγμα κώδικα ας υποθέσουμε ότι ένα αντικείμενο της κλάσης Counter διαμοιράζεται μεταξύ δύο νημάτων. Η ασάφεια ως προς τις τιμές μίας μεταβλητής παρουσιάζεται όταν δύο νήματα προσπαθούν ταυτόχρονα να μεταβάλλουν την τιμή |
| <code java Counter.java> | <code java Counter.java> | ||
| Line 23: | Line 23: | ||
| } | } | ||
| + | } | ||
| + | |||
| + | class Counter { | ||
| + | private int c = 0; | ||
| + | public void increment() { c++; } | ||
| + | public void decrement() { c--; } | ||
| + | public int value() { | ||
| + | return c; | ||
| + | } | ||
| } | } | ||
| </ | </ | ||