ilsio9 Δημοσ. 17 Νοεμβρίου 2011 Δημοσ. 17 Νοεμβρίου 2011 Καλησπερα παιδια Εχω μια εργασια οπου με c πρεπει να προγραμματισω ενα κωδικα οπου να δημιουργει threads, τα οποια αλλαζουν καποιες τιμες σε θεσεις μνημης (shared memory). Φυσικα πρεπει να χρησιμοποιησω και semaphores ετσι ωστε να μην προσπαθησουν να αλλαξουν μια τιμη πανω απο 1 threads ταυτοχρονα. Φυσικα και δεν θελω να μου λυσετε την ασκηση, απλα θα ηθελα να βοηθεια πως να δημιουργω posix threads, και να τα χρησιμοποιω καταλληλα, διοτι ειναι η πρωτη φορα που ασχολουμαι με αυτα και εχω χαθει! Αν υπαρχει καποιος που εχει την διαθεση, ας ποσταρει! Ευχαριστω!
Timonkaipumpa Δημοσ. 17 Νοεμβρίου 2011 Δημοσ. 17 Νοεμβρίου 2011 Σε posix complaint system υπάρχει μία βιβλιοθήκη της C που "σου δίνει access" σε δομές για σημαφόρους και λειτουργίες (up, down κτλ) (σε SystemV δεν ξέρω να σου πω). Το σκεπτικό είναι: Δημιουργείς μία δομή που είναι η κοινή μνήμη (υπάρχει function που σου γυρνάει void* και block μνήμης μεγέθους που ορίζεις εσύ και εκεί μέσα βάζεις την δομή σου, για κοινή μνήμη... σου δίνει - ορίζεις και ID για το block αυτό με αποτέλεσμα να μπορείς να ελέγχεις εάν έχει δημιουργηθεί ή όχι κτλ). Δημιουργείς την δομή με τους σημαφόρους Χτίζεις τις λειτουργίες σου Τις βάζεις, τις λειτουργίες, να χειρίζονται την κοινή μνήμη μέσω της δομής (που με function παίρνεις το δείκτη σε αυτή, στο block μνήμης που δέσμευσες παραπάνω με το ID του). //END Θες εξοικείωση με δείκτες και δομές. Δεν είναι τίποτα δύσκολο... λίγο μπίζιλο είναι στο να βρεις τις βιλιοθήκες και τις functions ποιες είναι. Κατά τα άλλα είναι πάρα πολύ απλό. Edit: Και οι βιβλιοθήκες: sys/types.h sys/ipc.h sys/shm.h
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα