Professional Documents
Culture Documents
Jav13 Thread
Jav13 Thread
Ορισµός
Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ.
κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ’ ένα
πρόγραµµα.
Αιτία
Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων
εργασιών, ώστε να µπορούν να εκτελούνται ταυτόχρονα.
Παρατηρήσεις
• Ένα νήµα δεν είναι πρόγραµµα αφ’ εαυτού του.
• Ένα νήµα εκτελείται µέσα σ’ ένα πρόγραµµα.
• Ένα µόνο νήµα δεν προσφέρει κάτι το καινούργιο.
• ∆ύο ή περισσότερα νήµατα µπορούν να εκτελούνται
ταυτόχρονα πραγµατοποιώντας διαφορετικές εργασίες.
ΝΗΜΑΤΑ ΣΤΗ JAVA (2)
Κάθε νήµα αντιπροσωπεύει µια διεργασία. ∆ιεργασίες
που εκτελούνται ταυτόχρονα λέγονται ταυτόχρονες
διεργασίες (concurrent processes)
End of I/O
sleeping yield notify completion
time resume notifyAll
αναπαυόµενο ανασταλλέν αναµένον αποκλεισµένο
(sleep) (suspended) (waiting) (blocked)
suspend wait I/O
sleep dispatch request
εκτελούµενο νεκρό
(running) stop (dead)
complete
∆ΗΜΙΟΥΡΓΙΑ ΝΗΜΑΤΩΝ ΣΤΗ JAVA
∆ύο τρόποι δηµιουργίας νηµάτων:
0 Patra 6 Athina
0 Athina 6 Patra
1 Athina 7 Patra
1 Patra 7 Athina
2 Patra 8 Athina
2 Athina 9 Athina
3 Athina 8 Patra
3 Patra DONE! Athina
4 Patra 9 Patra
4 Athina DONE! Patra
5 Patra
5 Athina
ΝΗΜΑΤΑ ΜΕΣΩ ΤΗΣ RUNNABLE