java:concurrency_intro

Differences

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

Link to this comparison view

Next revision Both sides next revision
java:concurrency_intro [2015/03/24 12:44]
gthanos created
java:concurrency_intro [2015/03/24 12:47]
gthanos [Νήματα]
Line 12: Line 12:
  
 Η πολυνηματική εκτέλεση αποτελεί βασικό χαρακτηριστικό της πλατφόρμας Java. Κάθε εφαρμογή έχει τουλάχιστον ένα νήμα (ή περισσότερα,​ αν μετρήσουμε και τα νήματα του JVM για κάθε διεργασία). Για τον προγραμματιστή αρχικά υπάρχει μόνο ένα νήμα το οποίο εκτελείται μέσα από τη μέθοδο //main//. Το νήμα αυτό έχει τη δυνατότητα να δημιουργήσει πρόσθετα νήματα,​ όπως θα δείξουμε στη συνέχεια. Η πολυνηματική εκτέλεση αποτελεί βασικό χαρακτηριστικό της πλατφόρμας Java. Κάθε εφαρμογή έχει τουλάχιστον ένα νήμα (ή περισσότερα,​ αν μετρήσουμε και τα νήματα του JVM για κάθε διεργασία). Για τον προγραμματιστή αρχικά υπάρχει μόνο ένα νήμα το οποίο εκτελείται μέσα από τη μέθοδο //main//. Το νήμα αυτό έχει τη δυνατότητα να δημιουργήσει πρόσθετα νήματα,​ όπως θα δείξουμε στη συνέχεια.
 +
 +===== Δημιουργία και εκτέλεση νημάτων =====
 +
 +Υπάρχουν δύο παρεμφερείς τρόποι για την δημιουργία και εκτέλεση ενός νήματος. Και οι δύο παρατίθενται παρακάτω:​
 +
 +<code java>
 +public class HelloRunnable implements Runnable {
 +
 +    public void run() {
 +        System.out.println("​Hello from a thread!"​);​
 +    }
 +
 +    public static void main(String args[]) {
 +        (new Thread(new HelloRunnable())).start();​
 +    }
 +}
 +</​code>​
 +
 +<code java>
 +public class HelloThread extends Thread {
 +
 +    public void run() {
 +        System.out.println("​Hello from a thread!"​);​
 +    }
 +
 +    public static void main(String args[]) {
 +        (new HelloThread()).start();​
 +    }
 +}
 +</​code>​
 +
  
java/concurrency_intro.txt · Last modified: 2016/02/26 11:15 (external edit)