java:concurrency_intro

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
java:concurrency_intro [2015/04/18 15:57]
gthanos [Εφαρμόζοντας τις μεθόδους sleep()/interrupt()/join() σε ένα παράδειγμα]
java:concurrency_intro [2015/04/18 15:58]
gthanos
Line 121: Line 121:
 ===== Εφαρμόζοντας τις μεθόδους sleep()/​interrupt()/​join() σε ένα παράδειγμα ===== ===== Εφαρμόζοντας τις μεθόδους sleep()/​interrupt()/​join() σε ένα παράδειγμα =====
  
-Δείτε το παρακάτω παράδειγμα εκτέλεσης δύο νημάτων,​ το οποίο χρησιμοποιεί τις μεθόδους sleep(), interrupt() και join(). Το κεντρικό νήμα (μέθοδος main) περιμένει το νήμα που δημιουργείται για δεδομένο χρονικό διάστημα. Κάθε 1 δευτερόλεπτο το κεντρικό νήμα επιστρέφει από την μέθοδο **join(1000)** και εξετάζει εάν a)ο χρόνος εκτέλεσης του ολοκληρώθηκε και b) το παιδί τελείωσε μέσω της **t.isAlive()**. Εάν ισχύουν και οι δύο παραπάνω προϋποθέσεις τότε στέλνει ένα interrupt στο παιδί και περιμένει να τερματίσει.+Δείτε το παρακάτω παράδειγμα εκτέλεσης δύο νημάτων,​ το οποίο χρησιμοποιεί τις μεθόδους sleep(), interrupt() και join(). Το κεντρικό νήμα (μέθοδος main) περιμένει το νήμα που δημιουργείται για δεδομένο χρονικό διάστημα. Κάθε 1 δευτερόλεπτο το κεντρικό νήμα επιστρέφει από την μέθοδο **join(1000)** και εξετάζει εάν a)ο χρόνος εκτέλεσης του ολοκληρώθηκε και b) το παιδί τελείωσε μέσω της **t.isAlive()**. Εάν ισχύουν και οι δύο παραπάνω προϋποθέσεις τότε στέλνει ένα interrupt στο παιδί και περιμένει ​έως ότου αυτό ​να τερματίσει ​μέσω της **t.join()**. Στην συνέχεια ολοκληρώνει και το κεντρικό νήμα την εκτέλεση του.
  
 <code java MessageLoops.java>​ <code java MessageLoops.java>​
java/concurrency_intro.txt · Last modified: 2016/02/26 11:15 (external edit)