Je ne connaissais pas cette solution mais c'est vrai qu'elle fonctionne. En fait quand j'ai affirmé qu'il n'était pas possible de résoudre le problème Consommateur/Producteur sans sémaphores, j'excluais, de facto, des solutions "hard". Dans le même style, il existe une instruction TSL (Test and Set Lock) qui permet la lecture et ecriture de la mémoire de manière atomique, aucun autre process ne peut acceder à la mémoire tant que cette instruction n'est pas terminé mais là aussi, on retrouve le même problème qu'avec la solution de Peterson et puis on bloque le bus mémoire.
En tout cas je pense que si on reste à un niveau supérieur à l'assembleur (le C par exemple), les sémaphores sont l'unique solution à ce problème. Ce qui est drôle c'est que ce problème est assez vieux (les sémaphores datent de 1965, il me semble) mais on continue de chercher des solutions à ce problème :+)
[^] # Re: MplayerXP fork de MPlayer avec support des threads
Posté par bleh . En réponse à la dépêche Document sur le développement de mplayer. Évalué à 1.
En tout cas je pense que si on reste à un niveau supérieur à l'assembleur (le C par exemple), les sémaphores sont l'unique solution à ce problème. Ce qui est drôle c'est que ce problème est assez vieux (les sémaphores datent de 1965, il me semble) mais on continue de chercher des solutions à ce problème :+)