Accueil > Forum > > > > les threads en java
les threads en java
jeudi 2 octobre 2008 à 00:42:58 |
les threads en java

limalima
|
Bonsoir, je débute en java, je suis sur les threads, mon idé est de calculer les carres de i allant de 1 à 10 000, dites moi si j'ai bien compris: comme cette opération va prendre du temps, je dois la partager entre plusieurs threads, chacun va faire une partie. c'est pour cela que j'ai creé 10 threads. et la travail à faire je l'ai mis dans la méthode run(). le problème quand j'execute je comprends rien au résultat:par exemple prquoi le résultat de i*i ne commence pas à i=10, i=20... aussi vu mon code je devrai avoir un résultat de ce genre: le thred numero 5,dont le nom est:Thread-5est en cours votre resultat: 79566400 le thred numero 2,dont le nom est:Thread-2est en cours votre resultat: 79210000 je veux dire que l'affichage soit de cette nature:la premiere ligne :le threads numero.... et la deuxième ligne :votre resultat...
donc prquoi moi j'ai tout dans le desordre et prquoi ça commence pas par i=10? voila mon code: public class Premier_Thread extends Thread{intnumero;public Premier_Thread(int numero) {this.numero=numero;// TODO Auto-generated constructor stub} publicvoid run(){for (int i=0;i<10000;i++){if(i%10==0){System. out.println("le thred numero "+numero+","+"dont le nom est:"+this.getName()+"est en cours");System. out.println("votre resultat: "+i*i);} }} publicstaticvoid main(String[] args){for(int j=0;j<10;j++){Premier_Thread tj= new Premier_Thread(j);tj.start(); } } } Merci de me répondre, même si certains trouvrons mon code nul(désolé je debute en programmation).
|
|
jeudi 2 octobre 2008 à 09:33:25 |
Re : les threads en java

coucou747
|
Réponse acceptée !
salut
i doit varier en fonction du numero du thread.
Le but, c'est de faire calculer des choses differentes a tes 10 threads, or la, ils calculent la meme chose...
|
|
jeudi 2 octobre 2008 à 14:06:13 |
Re : les threads en java
|
jeudi 2 octobre 2008 à 19:13:46 |
Re : les threads en java

limalima
|
Bonjour, peut etre j'ai compris:quand j'ai un resultat de ce type, cela veut il dire que c'est le thread 9 qui a calculé 4 résultat? le thred numero 9,dont le nom est:Thread-9est en cours votre resultat: 83174400 votre resultat: 80820100 votre resultat: 81360400 votre resultat: 81902500 merci.
|
|
jeudi 2 octobre 2008 à 19:19:28 |
Re : les threads en java

limalima
|
Réponse acceptée !
Bonjour, ah ok, au fait cela veut dire par exemple les threads prennent aléatoirement une partie du calcul sans s'occuper du fait qu'un autre thread a pris la même chose?, du coup ils peuvent calculer la même chose!
|
|
jeudi 2 octobre 2008 à 19:38:30 |
Re : les threads en java

coucou747
|
... la tes threads prennnent TOUS, le calcul ENTIER
|
|
vendredi 3 octobre 2008 à 08:23:37 |
Re : les threads en java

jojolemariole
|
Réponse acceptée !
Salut, Si tu as deux coeurs, et pas trop de logiciels en tâches de fond, tu auras en 2 threads java en cours d'exécution simultanément. De plus, à chaque instruction, et non pas à chaque boucle, le thread utilisant un processeur est susceptible de passer son tour (surtout avec des System.out.print qui sont de (très) très longues instructions. De plus coucou747 a raison, ce n'est pas parce que tu as crée 10 threads qu'ils vont magiquement se répartir le travail. C'est à toi de coder la répartition des calculs, eh oui : c'est pas magique sinon ça ferait longtemps que Crysis serait optimisé pour les multi-coeurs. Il existe des patrons de conception (des canvas d'applications en quelque sorte) qui t'aident à faire ça mais il y a plein de façon de le faire seul, à toi de réfléchir. Comme l'a dit coucou747, tu peux par exemple attribuer un nombre sur 10 à chaque thread. Par exemple, le thread 0 fera les carrés de 0, 10, 20, ... le thread 1 les carrés de 1, 11, 21, etc tandis que le thread 9 s'occupera de 9, 19 ,29, ... Autre chose, quand ce sera fait et que ça marchera tu verras que les calculs seront probablement pas fait dans l'ordre, car les threads n'iront pas exactement à la même vitesse, par exemple 24² pourra être calculé avant 20². Si tu veux que les calculs soient faits dans l'ordre ça va être un peu compliqué il faudra que tu programme un rendez-vous entre les processus -> [ Lien ]Sinon, le fait d'afficher les réponses dans la console perturbe beaucoup l'exécution (si tu les enlèves, tu verras que le calcul se fait instantanément ou presque)
|
|
Cette discussion est classée dans : java, numero, resultat, thread, threads
Répondre à ce message
Sujets en rapport avec ce message
connexion à mysql avec java [ par calmoust ]
Bonjour, J'ai écrit le code suivant pour afficher le contenu d'une table crée dans une BD mysql. Le programme exécuter sous eclipse ne donne pas d'err
java threads [ par thiernoirm ]
salut j'ai un problème pour arreter mes threads . pouvez vous m'aider ? svp voici mon thread : public class monThread extends Thread{
[BAR]lancer deux threads au meme temps [ par zoya23 ]
Bonjour tout le monde! dans une interface graphique, je veux lancer deux threads au meme temps, et chaque thread s'exécute à l'infini et il stope que
Ecouteur avec java sous Oracle [ par lion2080 ]
Bonjour T.M :J'ai un petit problème consernant Java & Oracle.J'ai un table dans une base de données oracle, je veut lancer un thread java qui fait app
java, semaphores, threads [ par electra01 ]
g un tp a rendre et g besoin d'aide le theme est :considerons une memoire centrale composee de N segments. Chaque processus peut demander un certain n
progressbar [ par crashed ]
bonjour, j'utilise des threads dans jbuilder et j'aimerai mettre une progressbar afin de suivre le traitement des threads c'est a dire qu'elle se char
synchronisation threads [ par mersai ]
bonjour; j'ai 4 threads avec identificateur 1,2,3 et 4, qui sont bloqués sur un objet en utilisant obj.wait(). comment faire pour réveillé un thread
semaphore, threads, java [ par mersai ]
bonjour, j'ai n threads qui accèdent à un tableau de n boolean (partagé). chaque case de ce tableau correspond à un thread, cad : thread 1 correspond
Les threads Java [ par castorr ]
J'ai un problème : je lance un thread, il compte et arrivé à une certaine valeur il effectue une action.Mais comment faire pour récupérer "la valeur
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|