Se connecter

Informatique

Programmation

Sujet : C - Synchronisation via semaphore
1
cze
Niveau 5
23 novembre 2014 à 12:15:05

Bonjour à vous. ^^

$ ./exec
Je lis. Je lis. Je lis. Je lis. J'ecris. J'ecris. J'ecris. J'ecris.
https://gist.githubusercontent.com/anonymous/b4d9fdf4f74ca5d237c8/raw/f26fd09e383bf424b9fac638e2d13f453b96cf60/gistfile1.txt

Mon code est mauvais de toute évidence, et j'aurais besoin que l'on m'explique le principe me permettant de faire alterner deux processus. Lorsque A libère le sémaphore et sleep 1 sec, B qui était en attente devrait le bloquer directement et exécuter son code non ?

Merci à ceux qui sauront m'éclairer... o/

Pseudo supprimé
Niveau 9
23 novembre 2014 à 23:09:23

Ce n'est pas ta compréhension des sémaphores qui est mauvaise, mais l'implémentation :o))

C'est un problème de mémoire partagée. Voir : http://blog.superpat.com/2010/07/14/semaphores-on-linux-sem_init-vs-sem_open/

cze
Niveau 5
24 novembre 2014 à 20:50:51

Même pas, ça fonctionnait très bien. Fallait juste changer pour "Je lis\n" et "J'ecris\n". :pf:
Merci pour ta réponse LeRapaceFou. :oui:

Pseudo supprimé
Niveau 9
24 novembre 2014 à 20:54:13

Ah ok. Question de flush je suppose.

cze
Niveau 5
24 novembre 2014 à 21:11:40

Oui, j'avais déjà rencontré ce souci par le passé. ^^

1
Sujet : C - Synchronisation via semaphore
   Retour haut de page
Consulter la version web de cette page