Java & Threads

...IDE, compilers, κλπ

Συντονιστής: konnn

Java & Threads

Δημοσίευσηαπό MaR1oC » 13 Μαρ 2013, 17:20

Έχω την εξής απορία:

Θέλω να τρέξω δύο διεργασίες, έστω Α και Β, ταυτόχρονα.

Μόλις, όμως, τελειώσει η Α, θέλω να τελειώσει και η Β. Πώς θα το κάνω αυτό χρησιμοποιώντας Threads;
Τελευταία επεξεργασία από MaR1oC και 14 Μαρ 2013, 16:41, έχει επεξεργασθεί 1 φορά/ες συνολικά
"Γιατί όσα πρέπει να κάνουμε, αφού τα μάθουμε, τα μαθαίνουμε κάνοντάς τα" -Αριστοτέλης

Spoiler: show
Linux: Προχωρημένος| Προγραμματισμός :Java, Python, C, C++, BourneAgainSHell, Arduino Sketch, Scilab | Typesetting: LaTex, Scribus | Αγγλικά : C2 (ECPE)
Acer Aspire One > CPU: Intel Atom 1,6GHz | RAM: 2GB | GPU: Intel GMA 3650
Desktop > CPU: Intel 2Core Core Duo 2.13 Ghz | RAM: 4GB | GPU: NVdia GeForce 8600GT Audio Card Realtek ALC888
Acer Aspire V5(Ultrabook) > CPU: Intel Core i5 1.8GHz TB | RAM: 4GB | GPU: Intel Graphics

Github
Άβαταρ μέλους
MaR1oC
Ubuntistas
Ubuntistas
 
Δημοσιεύσεις: 375
Εγγραφή: 06 Σεπ 2010, 10:09
Τοποθεσία: /home/marios
IRC: MaR1oC
Εκτύπωση

Re: Jacva & Threads

Δημοσίευσηαπό simosx » 14 Μαρ 2013, 00:50

MaR1oC έγραψε:Έχω την εξής απορία:

Θέλω να τρέξω δύο διεργασίες, έστω Α και Β, ταυτόχρονα.

Μόλις, όμως, τελειώσει η Α, θέλω να τελειώσει και η Β. Πώς θα το κάνω αυτό χρησιμοποιώντας Threads;


Οι διεργασίες υποτίθεται ότι τρέχουν παράλληλα και όποια τελειώσει νωρίτερα, θα επιστρέψει νωρίτερα. Γενικά είναι στα χέρια του επεξεργαστή και του λειτουργικού για το πότε θα καταφέρει να ολοκληρώσει την επεξεργασία κάθε διεργασίας.

Ποια είναι η περιγραφή της εργασίας που θέλεις να προγραμματίσεις. Μάλλον εδώ είναι η ουσία τού τι πραγματικά θέλεις να κάνεις και πως το υλοποιείς.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Java & Threads

Δημοσίευσηαπό MaR1oC » 14 Μαρ 2013, 17:09

Λοιπόν, φτιάχνω έναν 3Δ printer από LEGO και πλέον έχω αρχίσει να διαμορφώνω και τον κώδικα. Αυτό που θέλω είναι να κινούνται οι άξονες (αποτελούμενοι από σερβοκινητήρες) ταυτόχρονα με την κεφαλή (ένα μοτεράκι) που θα κάνει ουσιαστικά το milling

UPDATE:

Σκέφτηκα το εξής (αυτός είναι ο κώδικας του thread μου)


Κώδικας: Επιλογή όλων
package driver.commands;

import lejos.nxt.SensorPort;
import driver.NXTDrill;

//Thread for drilling actions

public class Drilling extends Thread {

   

   private boolean running = true;
   
   
   public void run() {
      NXTDrill nxtdrill = new NXTDrill(SensorPort.S4);
      while(running) {
         nxtdrill.rotate();
      }
      nxtdrill.stop();
   }
   
   public void shutdown() {
      running = false;
}
   }


και μέσα στον κύριο κώδικα το ενσωμάτωσα ως εξής:

Κώδικας: Επιλογή όλων
.......
.......
      public void execute() {
            Drilling drilling = new Drilling();
            drilling.run();
            // ο υπόλοιπος κώδικάς μου εδώ
           
           drilling.shutdown();
           }
"Γιατί όσα πρέπει να κάνουμε, αφού τα μάθουμε, τα μαθαίνουμε κάνοντάς τα" -Αριστοτέλης

Spoiler: show
Linux: Προχωρημένος| Προγραμματισμός :Java, Python, C, C++, BourneAgainSHell, Arduino Sketch, Scilab | Typesetting: LaTex, Scribus | Αγγλικά : C2 (ECPE)
Acer Aspire One > CPU: Intel Atom 1,6GHz | RAM: 2GB | GPU: Intel GMA 3650
Desktop > CPU: Intel 2Core Core Duo 2.13 Ghz | RAM: 4GB | GPU: NVdia GeForce 8600GT Audio Card Realtek ALC888
Acer Aspire V5(Ultrabook) > CPU: Intel Core i5 1.8GHz TB | RAM: 4GB | GPU: Intel Graphics

Github
Άβαταρ μέλους
MaR1oC
Ubuntistas
Ubuntistas
 
Δημοσιεύσεις: 375
Εγγραφή: 06 Σεπ 2010, 10:09
Τοποθεσία: /home/marios
IRC: MaR1oC
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού