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
Next revision Both sides next revision
java:concurrency_intro [2015/03/24 12:53]
gthanos [Δημιουργία και εκτέλεση νημάτων]
java:concurrency_intro [2015/03/24 13:00]
gthanos [Δημιουργία και εκτέλεση νημάτων]
Line 44: Line 44:
  
 Παρατηρείστε ότι και τα δύο παραπάνω παραδείγματα καλούν την μέθοδο [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Thread.html#​start()|Thread.start()]]. Από τα δύο το πρώτο είναι πιο γενικό,​ καθώς δεν απαιτείται η κλάση σας να είναι απόγονος της κλάσης [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Thread.html|Thread]]. Παρατηρείστε ότι και τα δύο παραπάνω παραδείγματα καλούν την μέθοδο [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Thread.html#​start()|Thread.start()]]. Από τα δύο το πρώτο είναι πιο γενικό,​ καθώς δεν απαιτείται η κλάση σας να είναι απόγονος της κλάσης [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Thread.html|Thread]].
 +
 +===== Σταματώντας την εκτέλεση ενός νήματος μέσω της μεθόδου sleep() =====
 +
 +Η μέθοδος sleep δίνει την δυνατότητα σε ένα νήμα να σταματήσει την εκτέλεση του για ένα συγκεκριμένο χρονικό διάστημα. Κατά το διάστημα αυτό, άλλες διεργασίες ή threads της υφιστάμενης διεργασίες μπορούν να εκτελεστούν. Η χρονική διάρκεια κατά την οποία θα παύσει η εκτέλεση ενός thread μπορεί να μην είναι ακριβώς η χρονική διάρκεια που επιλέξαμε,​ καθώς ο χρονοπρογραμματισμός των threads εξαρτάται και από το λειτουργικό σύστημα. Δείτε το παρακάτω παράδειγμα κλήσης της μεθόδου sleep()
 +
 +<code java SleepMessages.java>​
 +public class SleepMessages {
 +    public static void main(String args[])
 +        throws InterruptedException {
 +        String importantInfo[] = {
 +            "Mares eat oats",
 +            "Does eat oats",
 +            "​Little lambs eat ivy",
 +            "A kid will eat ivy too"
 +        };
 +
 +        for (int i=0; i<​importantInfo.length;​ i++) {
 +            //Pause for 2 seconds
 +            Thread.sleep(2000);​
 +            //Print a message
 +            System.out.println(importantInfo[i]);​
 +        }
 +    }
 +}
 +</​code>​
 +
  
  
java/concurrency_intro.txt · Last modified: 2016/02/26 11:15 (external edit)