Προς το περιεχόμενο

Thread java buublesort


Thanos_

Προτεινόμενες αναρτήσεις

Δημοσ.

Εχω ενα προβλημα σε μια ασκηση. Θελω να κανω ταξινομηση εναν πινακα χρησιμοποιωντας threads. Στο προγραμμα μου εχω 3 κλασεις. Η sortingthread class σπαει τον πινακα σε Ν κομματια(αναλογα με τον αριθμο των threads που θελουμε), και τα ταξινομει με χρηση bubblesort(το καθε κομματι). H mergingthread class θελω να ενωνει τους πινακες που εχουν δημιουργηθει απο την sortingthread(θα εξηγησω σε λιγο τι εννοω). Και τελος η FileSorter class που ειναι η main.

 

τι θελω ακριβως?? εστω οτι εχω εναν πινακα 32 θεεσεων που θελω να ταξινομηθει με 8 threads

 

0,1,2,3

------------------mergingthread(1)

4,5,6,7

--------------------------------------mergingthread(5)

8,9,10,11

------------------mergingthread(2)

12,13,14,15

---------------------------------------------------------------mergingthread7)

16,17,18,19

------------------mergingthread(3)

20,21,22,23

--------------------------------------mergingthread(6)

24,25,26,27

------------------mergingthread(4)

28,29,30,31

 

 

τα 8 κομματια του πινακα ειναι ταξινομημενα και τωρα θελω να τα ενωσω. αρχικα θα ενωθουν τα mergingthread(1) και mergingthread(2). Το mergingthread(5) θα πρεπει να περιμενει τα mergingthread(1) και mergingthread(2). Το mergingthread(7) θα πρεπει να ξεκινησει αφου εχουν τελειωσει τα mergingthread(5) και mergingthread(6). Νμζ πως μπορει να γινει με join αλλα εχω σκαλωσει!!

Ελπιζω να καταλαβατε!!!!!!!!!!!!

 

Σας δινω και τον κωδιακ που εχω γραψει μπασ και μπορειτε να με βοηθησετε

src.zip

Δημοσ.
σίγουρα μπορεί να γραφεί καλύτερα,

αλλά θα πάρεις μια ιδέα πως γίνεται.

 

 

Φιλε ευχαριστω που μου απαντησες!!!!!

 

Εχω μια απορια, εγω ας πουμε θελω για πινακα 1024*16!!!!!(lol) στοιχειων, πως θα το κανω για τοοοσα στοιχεια αν χρειαζομαι καθε φορα κι αλλα mergingthread!!!

Να τα βαλω ολα σε μια loopa?? π.χ. αν εχω 8 threads χρειαζομαι 7(N-1) mergingthreads. Αλλα αν το κανω αυτο θα χανετε η σιερα αφου θα εκτελουνται παραλληλα!!!!!

 

Και ενα τελευταιο

0,1,2,3

------------------mergingthread(1)

4,5,6,7

--------------------------------------mergingthread(5)

8,9,10,11

------------------mergingthread(2)

12,13,14,15

---------------------------------------------------------------mergingthread7)

16,17,18,19

------------------mergingthread(3)

20,21,22,23

--------------------------------------mergingthread(6)

24,25,26,27

------------------mergingthread(4)

28,29,30,31

Ο τροπος που μου προτινεις κανει πρωτα τα mergingthread(1,2,3,4) και μετα ξεκινα τα mergingthread(5,6) και αφου τελειωσουν και αυτα τοτε ξεκιναει το mergingthread(7). Η ασκηση μου μου λεει να ξεκιναει παραλληλα!!!!! δλδ αν τελειωσουν τα mergingthread(1,2) τοτε μπορει να τρεξει και το mergingthread(5)!!!! looool

 

Λογικα σε κουρασα, ελπιζω τουλ να καταλαβες τι θελω!!

Ευχαριστω και παλι!!!!!

Δημοσ.

Οπως μπορεις να καταλαβεις απο την ωρα που το γραφω αυτο, το εκαψα και παλι.

Εν τελει καταφερα με διαφορεσ αλχημειες να τρεξει, οχι οπως ακριβως θελω αλλα τρεχει. Ενα πραμα μου λειπει τωρα, πως θα το κανω να αποθηκευει τα αποτελεσματα σε αρχειο txt!!! PLZ help γτ δεν την παλευω αλλο!!!!

src.zip

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...