Bonjour, non les programmes sous java ne tournent pas plus sur les deux processeurs que les programmes C++.
Mais les programmes C++ et Java peuvent tourner sur plusieurs processeurs � condition qu'on l'ai programm� pour. Pour �tre tr�s clair, que ce soit en java ou en n'importe quel autre langage, une thread, c'est � dire l'ex�cution d'un traitement s�quentiel ne peut se faire que sur un processeur. Le syst�me d'exploitation ne sait pas analyser un programme et confier par anticipation un traitement au second processeur, ce traitement doit �tre compl�tement ind�pendant de ce qu'est en train de faire le premier processeur. Cette analyse est trop compliqu�e. Par contre le programmeur lui doit le savoir. Et lui d�cide de faire plusieurs threads pour chacun des traitements ind�pendants, et pr�voit l'attente de la fin des traitements par toutes ces threads avant de poursuivre le traitement commun. S'il y a plusieurs processeurs, c'est au syst�me d'exploitation de les utiliser en r�partissant les threads. S'il n'y en a pas le syst�me d'exploitation se d�brouille avec un processeur. Si vous savez isoler des traitements ind�pendants, en faire plusieurs threads n'est pas compliqu�. Il y a simplement quelques r�gles � respecter sur les donn�es qui sont manipul�es par plusieurs threads � la fois. Si par exemple deux threads (ou processus) �crivent dans le m�me fichier, le r�sultat risque d'�tre un peu embrouill�. Il en est de m�me si deux thread modifie simultan�ment la m�moire. Exemple classique d'incr�mentation d'une variable. Supposons la valeur initiale de 1: Premiere thread lit la variable et r�cup�re 1. Deuxieme thread lit la variable et r�cup�re 1. Chacune d'elle incr�mente la valeur 1, et � tour de r�le �criront 2, alors que la variable aurait d� �tre incr�ment�e deux fois donc avoir la valeur 3. J'esp�re avoir r�pondu un peu mieux aux interrogations. Donc, premi�re �tape, identifiez vos traitements et es donn�es partag�es. Pascal Le dim 22/09/2002 � 17:09, Jean-Pierre Hoarau a �crit : > La r�ponse est non. J'ai moi-m�me un bi pro et les programmes en C++ > tournent sur un seul processeur. En revanche, si je lance un second > programme il s'ex�cute sur le second processeur. > > Par contre il semblerait que les programmes tournant sous java tournent > sur les 2 processeurs en m�me temps. > > Voila! > a+ > > Aissa Bouanan wrote: > > Dans ce cas, en quoi consiste le role d'un noyau multi-proc. Par exple > > quand je lance plusieurs programmes differents, est-ce que le noyau > > permet la r�partition de la charge sur les deux processeurs ou c'est > > toujours un seul processeur qui bosse tandis que l'autre se la bronze au > > soleil ;-) > > > > Pour le cas de mon programme, pas de pour les threads, j'avais > > d'ailleurs l'intention de le reprendre pour introduire de nouveaux > > algorithmes de calcul > > > > Merci, > > Aissa > > > > Le dim 22/09/2002 � 12:23, Garcia Pascal a �crit : > > > >>Bonjour, > >>la r�pionse c'est a priori non mon capitaine, ar je suppose que tout est > >>lanc� en s�quence dans un seul programme. > >> > >>Une thread (en g�n�ral une ex�cution d'un programme, une t�che) ne > >>fonctionne que sur un seul processeur. Pour pouvoir profiter du > >>multiprocesseur, il faudrait d�composer ton programme de telle sorte que > >>les calculs soient en parall�le par des threads (t�ches) diff�rentes. > >> > >>A plus tard > >> > >>Pascal > >> > >>Le dim 22/09/2002 � 14:02, Aissa Bouanan a �crit : > >> > >>>Re-bonjour, > >>> > >>>Question peut-etre b�te : > >>> > >>> Si je m'offre un PC bi-processeur, que l'install de linux s'effectue > >>>bien comme il faut ! Est-ce que les programmes que j'ai ecrit (en > >>>C++,pour des calculs de stucture de genie-civil) pourront profiter de la > >>>puissance des deux processeurs, c�d est-ce que le kernel s'occupe du > >>>partage du travail sur les duex processeurs ou c'est moi qui doit > >>>r�ecrire mon code pour pour le faire, et dans le dernier cas, qqu'un > >>>pourrait me refiler des liens ! > >>> > >>>Merci pour vos r�ponses, car je ne sais pas comment se comportent le bi > >>>-proc, mais j'ai besoins de puissance de calcul ! > >>> > >>>A+, > >>>Aissa > >>> > >>> > >>> > >>> > >>>________________________________________________________________ > >>>Etudiant: Wanadoo t'offre le Pack eXtense Haut D�bit soit 150,92 euros >d'�conomies ! > >>>Et pour 1 euro de plus, re�ois le CD-ROM du jeu Dark Age of Camelot > >>>+ 1 mois de jeu en r�seau offert ! > >>>Clique ici : http://www.ifrance.com/_reloc/mail.etudiant > >>> > >>> > >>>---- > >>> > >>> > >>>Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? > >>>Rendez-vous sur "http://www.mandrakestore.com" > >>> > >> > >> > >>---- > >> > >> > > > >>Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? > >>Rendez-vous sur "http://www.mandrakestore.com" > >> > > > > > > > > ________________________________________________________________ > > Etudiant: Wanadoo t'offre le Pack eXtense Haut D�bit soit 150,92 euros d'�conomies >! > > Et pour 1 euro de plus, re�ois le CD-ROM du jeu Dark Age of Camelot > > + 1 mois de jeu en r�seau offert ! > > Clique ici : http://www.ifrance.com/_reloc/mail.etudiant > > > > > > > > > > ------------------------------------------------------------------------ > > > > Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? > > Rendez-vous sur "http://www.mandrakestore.com" > > > > > > > ---- > > Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? > Rendez-vous sur "http://www.mandrakestore.com"
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com"
