Λογισμικό για Πολυνηματικό Προγραμματισμό

Στην σελίδα αυτή ασχολούμαστε με το πολυνηματικό προγραμματισμό που αφορά σε σύστημα συμμετρικών πολυεπεξεργαστών ή ακόμα και σε σύστημα πολλαπλών πυρήνων, με την βοήθεια δύο λογισμικών, της Java Τhreads και του JOMP. To πακέτο Java Τhreads είναι ήδη ενσωματωμένο στην γλώσσα προγραμματισμού Java και έτσι δεν απαιτείται εγκατάσταση. Αντίθετα, το λογισμικό JOMP είναι ένα πρότυπο λογισμικού API που χρησιμοποιεί οδηγίες προς το μεταγλωττιστή οι οποίες ενσωματώνονται σε ένα πρόγραμμα Java. Το λογισμικό αυτό απαιτεί εγκατάσταση. Παρακάτω θα βρείτε πληροφορίες εγκατάστασης για το πακέτο JOMP, εγχειρίδια για τα λογισμικά Java Threads και JOMP, οδηγίες εκτέλεσης προγραμμάτων καθώς και μια σειρά παραδειγμάτων για το κάθε λογισμικό.

Λογισμικό Java Threads
Λογισμικό JOMP


Λογισμικό Java Threads

Εγχειρίδια

Παρακάτω θα βρείτε μερικά χρήσιμα εγχειρίδια για το ίδιο το λογισμικό Java Threads.

Μεταγλώττιση - Εκτέλεση

Οδηγίες μεταγλώττισης και εκτέλεσης προγραμμάτων Java Threads: Εδώ θα βρείτε οδηγίες για την μεταγλώττιση και εκτέλεση προγραμμάτων Java Threads.

Παραδείγματα

Παρουσιάζουμε μια σειρά από απλά παραδείγματα που χρησιμοποιούν το λογισμικό Java Threads.

  1. Νήματα με την κλάση Τhread: MyThread1.java και ThreadEx1.java.
  2. Νήματα με την διασύνδεση Runnable: MyThread2.java και ThreadEx2.java.
  3. Παραλληλισμός δεδομένων: υπολογισμός τετραγωνικής ρίζας: SqrtThread.java και ThreadParSqrt.java.
  4. Παραλληλισμός δεδομένων: υπολογισμός τετραγωνικής ρίζας (Ομάδες στοιχείων): SqrtGroupThread.java και ThreadParGroupSqrt.java.
  5. Παραλληλισμός ελέγχου: ThreadAdd.java, ThreadSub.java, ThreadMult.java και ThreadControl.java.
  6. Διαμοιρασμό κοινού τραπεζικού λογαριασμού χωρίς συγχρονισμό: Account.java, AccountHolder.java καιThreadWithoutSync.java.
  7. Διαμοιρασμό κοινού τραπεζικού λογαριασμού με συγχρονισμό: Account.java, AccountHolder.java καιThreadSync.java.
  8. Αθροισμα στοιχείων πίνακα με συγχρονισμό: ThreadSumSync.java.
  9. Παραγωγός - Καταναλωτής με συγχρονισμό υπό συνθήκη: Buffer.java, Producer.java, Consumer.java και Producer_Consumer.java.
  10. Υλοποίηση γραμμικού φράγματος: LinearBarrier.java.
  11. Υπολογισμός τετραγωνικής ρίζας με συντονιστή - εργαζόμενο: MasterWorker.java.
  12. Αύξηση στοιχείων δεδομένων κατά μια μονάδα με διασωλήνωση: Buffer.java και ThreadPipeline.java.

Λογισμικό JOMP

Για πολυνηματικό προγραμματισμό σε συμμετρικούς πολυεπεξεργαστές υπάρχει το διαδεδομένο πρότυπο λογισμικού OpenMP που μπορεί να χρησιμοποιηθεί για ανάπτυξη προγραμμάτων χρησιμοποιώντας την γλώσσα προγραμματισμού C. Για ανάπτυξη πολυνηματικών εφαρμογών με την γλώσσα Java υποστηρίζεται από ένα άλλο πρότυπο το Java OpenMP - JOMP.

Εγκατάσταση

Οδηγίες εγκατάστασης: Εδώ θα βρείτε οδηγίες εγκατάστασης του λογισμικού JOMP στον προσωπικό σας υπολογιστή.

Εγχειρίδια - Τεκμηρίωση Java

Μεταγλώττιση - Εκτέλεση

Οδηγίες μεταγλώττισης και εκτέλεσης προγραμμάτων JOMP: Εδώ θα βρείτε οδηγίες για την μεταγλώττιση και εκτέλεση προγραμμάτων JOMP.

Παραδείγματα

Παρακάτω παρουσιάζονται παραδείγματα χρησιμοποιώντας το λογισμικό JOMP.

  1. Πρώτο πρόγραμμα χαιρετισμού: Hello.jomp.
  2. Παραλληλισμός δεδομένων: AddArrays.jomp.
  3. Παραλληλισμός ελέγχου: MultiOper.jomp.
  4. Υπολογισμός π: NumInt.jomp.
  5. Υπολογισμός τετραγωνικής ρίζας με συντονιστή - εργαζόμενο: MasterWorker.jomp.
  6. Αύξηση στοιχείων δεδομένων κατά μια μονάδα με διασωλήνωση: Buffer.java και Pipeline.jomp.
Πίσω