Manuel VACELET wrote:
Alexis ROLLAND wrote:

Pour r�soudre le m�me pb aujourd'hui, on utilise plut�t des prosessus l�gers (threads) qui simplifient grandement la programmation et permettent une communication interprocessus souple. Bien entendu, les threads _permettet_ l'utilisation des mutex, s�maphores...


Je dirais plutot "n�c�ssitent", les mutex et s�maphores sont l� pour regler un probleme : tous les threads ont acces a toute la m�moire du programme. Je ne pense pas que l'on puisse se "r�jouir" d'avoir a utiliser des mutex et des s�maphores.

Je suis d'accord pour le n�cessitent, bien que l'utilisation de mutex ou de s�maphores soit soumise au besoin de les utiliser (s'il n'y a aucune ressource � prot�ger, on se passe de ces outils). Par contre, dire qu'il faut les utiliser car un thread a acc�s � toute la m�moire du programme est � mon avis une erreur. Les mutex, s�maphores et consors ont �t� cr��s d�s lors qu'il a �t� possible de faire du multit�che. Un probl�me du multit�che est qu'il faut s'assurer qu'une ressource n'est pas utilis�e avant de l'utiliser. Cette ressource peut �tre de la m�moire, mais aussi (et surtout) des �l�ments (logiciels ou mat�riels) ne supportant pas "plusieurs acc�s en m�me temps" (port E/S, convertisseur, fichier...). Les m�canismes de protection de ressources �taient l� donc bien avant les threads et ceux-ci, au m�me titre que les processus lourds, ont parfois besoin de s'en servir, m�me si effectivement, �a ne r�jouit personne ;)

Alexis

Répondre à