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";

Répondre à