S CoDeR Δημοσ. 17 Φεβρουαρίου 2013 Δημοσ. 17 Φεβρουαρίου 2013 καλησπερα παιδια μπορει καπιος να μου εξηγησει τι ειναι και πως λειτουργει ενα thread και γενικοτερα το thread programming?? ευχαριστω πολυ .....
Technology fan Δημοσ. 17 Φεβρουαρίου 2013 Δημοσ. 17 Φεβρουαρίου 2013 http://lmgtfy.com/?q=thread+programming
S CoDeR Δημοσ. 17 Φεβρουαρίου 2013 Μέλος Δημοσ. 17 Φεβρουαρίου 2013 (επεξεργασμένο) ναι....το εχω googlare απειρες φορες.......και δεν καταλαβα...για αυτο ρωτησα...ξερει κανεις να μου απαντησει?? ευχαριστω.. Επεξ/σία 17 Φεβρουαρίου 2013 από S CoDeR
παπι Δημοσ. 17 Φεβρουαρίου 2013 Δημοσ. 17 Φεβρουαρίου 2013 Ας πουμε οτι εχουμε αυτο το προγραματακι Ας πουμε οτι το λειτουργικο για να εκτελεσει το παραπανω θελει να "δεσεις" αυτες τις "εντολες" σε μια κλωστη, ετσι ωστε οταν τραβαει τη κλωστη, να εκτελει την καθε "εντολη" που ειναι δεμενη πανω στην κλωστη. Αυτο ειναι ενα thread/κλωστη/νημα. 7
S CoDeR Δημοσ. 17 Φεβρουαρίου 2013 Μέλος Δημοσ. 17 Φεβρουαρίου 2013 παπι σε ευχαριστω για την παρουσιαση ..... και ας πουμε οτι το λειτουγικο τραβαει τις "κλωστες" επιτιχαινει την ταυτοχρονη εκτελεση των εντολων η ειναι κατι αλλο ? ???
παπι Δημοσ. 18 Φεβρουαρίου 2013 Δημοσ. 18 Φεβρουαρίου 2013 Ωραια, βλεπω το επιασες. Το ενα νημα δεν μπορει να εκτελεσει ταυτοχρονα καποια πραγματα. Αν εχεις δυο νηματα; Προσεξε, καθε προγραμμα εχει και ενα νημα. Αν δεν εχει νημα, τοτε δεν μπορει να τρεξει. Οταν λενε thread programmign εννοουν οτι ενα προγραμμα εχει 2 και βαλε νηματα
cyberrobot Δημοσ. 18 Φεβρουαρίου 2013 Δημοσ. 18 Φεβρουαρίου 2013 Αναλογα με την εφαρμογη μπορεις να σπασεις το προγραμμα σου σε 2,3,4... νηματα και να το κανεις παραλληλα. Αναλογα τον επεργαστη σου και το προβλημα σου. Sent from my 7 Trophy
lion2486 Δημοσ. 18 Φεβρουαρίου 2013 Δημοσ. 18 Φεβρουαρίου 2013 με τη διαφορά ότι να νήματα δεν αντιγράφουν διεργασία, δεν έχουν δικιά τους μνήμη κτλ κτλ... δεν είναι διεργασία, αλλά κάθε διεργασία έχει τουλάχιστον ένα νήμα.
ZAKKWYLDE Δημοσ. 19 Φεβρουαρίου 2013 Δημοσ. 19 Φεβρουαρίου 2013 Πολύ χονδρικά, οι εντολές σε 2+ νήματα εκτελούνται "παράλληλα". Το πόσο παράλληλα εξαρτάται απο τη δομή του επεξεργαστή σου. Τα νήματα φυσικά μπορούν να χρησιμοποιούν τους ίδιους πόρους, μνήμη, βάση δεδομένων, sockets κτλ.Όπως ένα σοβαρό θέμα είναι τελικά με ποιά σειρά εκτελείται το κάθε νήμα, πως αυτό το διαχειρίζεσαι και πως θα διαχειριστείς τη χρήση κοινών πόρων.
manic Δημοσ. 19 Φεβρουαρίου 2013 Δημοσ. 19 Φεβρουαρίου 2013 Ενα προγραμμα (πχ Firefox) για να λειτουργησει "σηκωνει" καποιες διεργασιες (processes) η καθε διεργασια εχει δικο της address space και εχει εναν συγγεκριμενο σκοπο. Αυτη η διεργασια μπορει με την σειρα της να "σηκωσει" καποια νηματα (δες τα σαν πιο lite διεργασιες) αυτα νηματα οπως και η διεργασια εχουν καποιο σκοπο υπαρξης, επισης εχουν κοινο address space (δλδ νηματα μιας διεργασιες εχουν κοινη προσβαση στις μεταβλητες της διεργασιας ΠΟΥ ΤΑ ΣΗΚΩΣΕ) Γιατι τωρα κανω αυτη την δουλεια?? Σκοπος ειναι η γρηγορη εκτελεση του προγραμματος (αυτο που λεμε οτι γινεται "παραλληλα")
sockod Δημοσ. 19 Φεβρουαρίου 2013 Δημοσ. 19 Φεβρουαρίου 2013 Παράλληλος προγραμματισμός είναι ο όρος που ψάχνεις (multithreading/parallel programming) ο οποίος βασίζεται σε ΠΑΡΑΛΛΗΛΟΥΣ αλγόριθμους οι οποίοι με την σειρά τους δεν έχουν καμία σχέση με τους κοινούς γνωστούς ΣΕΙΡΙΑΚΟΥΣ αλγόριθμους.
Apoll Δημοσ. 19 Φεβρουαρίου 2013 Δημοσ. 19 Φεβρουαρίου 2013 καλησπερα παιδια μπορει καπιος να μου εξηγησει τι ειναι και πως λειτουργει ενα thread και γενικοτερα το thread programming?? ευχαριστω πολυ ..... Όταν θες να κάνεις πολλά πράγματα μαζί παράλληλα, χρησιμοποιείς threading. π.χ έχεις μία υπηρεσία που διαβάζει το status μιας συσκευής, ενώ παράλληλα παρακολουθεί μία TCP port για κλήση που θα επιστρέψει το status της συσκευής για αυτή την κλήση, ενώ παράλληλα περιμένει την επόμενη κλήση για να γράψει ίσως κάτι στην συσκευή. Ή θες να τραβήξεις 13 φωτογραφίες από 13 κάμερες την ίδια στιγμή, για ένα συμβάν που έγινε trigger στον χώρο που κοιτάνε οι διάφοροι (πες 20) αισθητήρες, οι οποίοι τρέχουν παράλληλα από το ίδιο πρόγραμμα. Αν και σε κάτι τέτοιο, μάλλον η χρήση DSS (Decentralized Software Services) και CCR (Concurrency and Coordination Runtime) είναι πιο λογική. Ένα καλό παράδειγμα για αρχάριους, είναι να κατανοήθεί το πως δουλεύει ο backgroundoworker στο .NET framework.
ZAKKWYLDE Δημοσ. 19 Φεβρουαρίου 2013 Δημοσ. 19 Φεβρουαρίου 2013 Ένα πιο πρακτικό παράδειγμα είναι ας πούμε να έχεις έναν application/web server και να εξυπηρετείς πολλούς users ταυτόχρονα. Η διεργασία που τρέχει ο server είναι μία. Αλλά για κάθε νέο χρήστη που συνδέεται ανοίγει ένα νέο νήμα (για την ακρίβεια χρησιμοποιεί Thread pool ok) για να τον εξυπηρετήσει. Αλλιώς έπρεπε να εξυπηρετεί τον καθένα σειριακά.
παπι Δημοσ. 19 Φεβρουαρίου 2013 Δημοσ. 19 Φεβρουαρίου 2013 Παράλληλος προγραμματισμός είναι ο όρος που ψάχνεις (multithreading/parallel programming) ο οποίος βασίζεται σε ΠΑΡΑΛΛΗΛΟΥΣ αλγόριθμους οι οποίοι με την σειρά τους δεν έχουν καμία σχέση με τους κοινούς γνωστούς ΣΕΙΡΙΑΚΟΥΣ αλγόριθμους. Αλλο πραγμα το parallel και αλλο το multithreading 2
sockod Δημοσ. 19 Φεβρουαρίου 2013 Δημοσ. 19 Φεβρουαρίου 2013 O Multithreaded programming είναι και Parallel programming το ανάποδο δεν είναι απαραιτήτως ίδιο. δηλαδή ο παράλληλος προγραμματισμός περικλύει και τον Multithreaded, υπάρχουν σίγουρα κάποιες διαφορές αλλά εαν εμβαθύνουμε σε αυτά θα χάσει το παιδί την μπάλα οπότε καλύτερα να αναζητήσει αυτούς τους όρους
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα