TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : 1 | |||
| Pseudo | Commentaire | ||
|---|---|---|---|
| Page : 1 | |||
SpaceFox
|
# Posté le 03/07/2008 à 21:55:09 - Ce membre n'a pas mis de note | ||
|
Ton code existe deja, en mieux Groupe : Membres |
Précisions : 1- A moins que Java ne soit très con, il n'exécute pas les threads dans un ordre aléatoire (ce qui sous-entend qu'à même conditions, l'ordre n'est pas le même, et de plus que le fait que ce soit aléatoire soit volontaire), mais dans un ordre qui dépend de tellement de paramètres qu'il n'est pas prévisible. 2- "Vous devez savoir que si vous utilisez plusieurs threads dans une application, ceux-ci ne s'exécutent pas en même temps !" Eh bien, si, à condition d'avoir un processeur (core) disponnible par thread. Dans le cas contraire, ils ne s'exécutent effectivement pas en même temps. Bref, je trouve ce chapitre assez confus et inexact, ce qui est dommage. Enfin, il est très dommage de ne pas parler des Timer et TimerTask, qui simplifient beaucoup la vie et correspondent à ce qu'on veut faire avec des threads dans énormément de projets. |
||
Matt11
|
# Posté le 04/07/2008 à 12:33:39 - Ce membre n'a pas mis de note | ||
0010100111010![]() Groupe : Membres |
En tant que débutant java j'ai lu tous les chapitres de ce tuto. Je suis un peu déçu de ce chapitre qui est assez compliqué et pas assez clair à mon gout. Je n'ai pas compris l'utilité (l'avantage) des threads et à quel moment s'en servir. Je pense qu'il serait bien de le revoir. Il faut quand même souligner que les chapitres d'avant était très bien. |
||
Niluge
|
# Posté le 16/07/2008 à 10:48:37 - Ce membre n'a pas mis de note | ||
Essaye de penser![]() Groupe : Membres |
L'ordonnancement est assez mal expliqué, les codes également. Un chapitre extrêmement confus. De plus, les processeurs à plusieurs coeurs ne sont pas pris en compte. J'ai un double coeur et lorsque j'exécute le premier code du cours, j'ai un thread qui s'exécute sur chaque coeur. J'ai donc toujours le même résultat (bien qu'il puisse varier selon l'utilisation que je fait de mon pc). La programmation nuit gravement a votre santé mentale et a celle de votre entourage |
||
guich77
|
# Posté le 18/07/2008 à 21:04:25 - Ce membre a mis la note : 16 | ||
![]() Groupe : Membres |
Salut à tous, Tout d'abord merci pour ce tuto qui, meme s'il est parfois succint et un peu déroutant (comme ce chapitre précisémment), permet d'acquérir les bases pour faire un dev intéressant. Par contre je suis confronté à un phénomène que je ne parviens pas à résoudre : je développe sur Eclipse sous Linux et je n'ai pas totu le temps le résultat attendu. Par exemple, dans ce chapitre, même si je fais un bete copier-coller de ton code, j'ai une erreur de compil, indiquant que la méthode run() de PlayAnimation doit "overrider" une méthode de la classe mere. Si je met le @override en commentaire, la compil passe. De ce que j'ai pu lire sur les tutos, dans l'ancienne version de java, le Override permettait uniquement de redéfinir une méthode de la classe parent, alors que maintenant elle permet aussi de redéfinir les méthodes d'interface ce qui est notre cas. Le problème est que j'ai la dernière version du jdk 1.6.0_07. J'ai testé le code sous Windows, tout fonctionne bien Bref, en mettant le override en commentaire, ca compile, et même ca run. La ou du coup je souhaite approfondir, c'est que sur l'animation, avant la partie thread, totu fonctionnait bien. Maintenant, je n'ai plus l'animation qui s'affiche. J'ai bien mon jlabel, mes 2 boutons, mais pas la forme. Pourtant go est bien exécuté correctement (j'ai mis des espions un peu partout). Si quelqu'un a réussi a corriger ou contourner ce phénomène, merci de m'aiguiller. Encore une fois, merci (pour le tuto et le reste). J'attends la suite avec impatience (manipulation de fichier ???) Merci, Guich Guich |
||
guich77
|
# Posté le 18/07/2008 à 22:32:28 - Ce membre a mis la note : 16 | ||
![]() Groupe : Membres |
Re Salut, autant pour moi concernant le problème de l'animation que je ne voyais pas à l'écran, c'était une erreur de code Par contre, si quelqu'un connait l'astuce pour faire reconnaite le @override sur une interface, je suis preneur Merci, Guich Guich |
||
guich77
|
# Posté le 21/07/2008 à 09:10:43 - Ce membre a mis la note : 16 | ||
![]() Groupe : Membres |
Bonjour a tous, je sais que ce coin n'a pas vocation de forum, mais ayant trouvé la réponse à la question que j'avais moi même posé ce week end, je la donne, ça pourra peut etre servir à d'autres. En fait, a l'install, Eclipse pour linux dispose d'une version 1.5 de jre. Même en ajoutant le jdk 1.6, et en rattachant cette librairie au projet, les @override ne sont toujours pas reconnu pour des interfaces. En fait, il faut également aller dire au compilateur de passer en mode 6.0 (par défaut 5.0). Pour ce faire, Window, Preferences, Java, Compiler ==> JDK Compliance : modifier la valeur a 6.0 et le problème est réglé. Voila, j'en met pas plus Vivement la suite du cours guich Guich |
||
Balbuzard
|
# Posté le 26/08/2008 à 12:45:25 - Ce membre a mis la note : 17 | ||
|
Groupe : Membres |
@ niludge: essaie de faire aussi bien au lieu de critiquer! Il faut pas oublier que c'est un site où tout est GRATUIT, si ça ne te suffit pas, et bien tu sais ce qui te reste à faire: Tu retrousses tes petites manches, tu te mets au boulot, et tu crée un tutoriel sur les Thread Java Tu as toute la doc nécessaire sur internet. Tu peux même commencer en t'inspirant de ce tuto, tu feras guère mieux. Sans oublier que nous aurons aussi à venir mettre des commentaires, par la suite
LE Petit Poucet |
||
Aolean
|
# Posté le 18/10/2008 à 15:02:49 - Ce membre n'a pas mis de note | ||
|
Groupe : Membres |
Bon, je pensais faire quelques tutoriels Java, mais cysboy a abattu un boulot impressionnant ![]() Tuto que je trouve assez clair, à condition d'avoir déjà quelques notions sur les threads. Je soumets ces quelques propositions de modifs : 1) Supprimer les représentations de la pile, ou prendre un peu de temps pour expliquer ces notions. 2) Intro peut-être un peu plus générale sur ce qu'est un thread. 3) Attention aux bi-coeurs ! Pour peu que l'ordonnanceur mette tes 2 threads java sur 2 procs différents, tu n'auras pas forcément tout le temps la situation avec un thread bloqué et l'autre qui tourne. 4) L'exemple avec getSolde est un peu inexact. Ce n'est pas parce que tu as un solde positif que tu peux te permettre de retirer 2 euros : essaie ton programme avec un solde initial de 11 euros ... Il faudrait plutôt coder une fonction Code : Java
5) Attention à la synchronisation !!! Faire un synchronized comme présenté dans ce tutorial ne sert pas à grand chose. Imaginons qu'il te reste 2 euros sur le solde. Le thread A vérifie que le getSolde est positif (oui), est bloqué, le thread B vérifie que getSolde est positif(oui), retire 2 euros, puis est bloqué et A retire à nouveau 2 euros ! C'est donc dans la méthode run(), à l'intérieur de la boucle for qu'il faut déclarer un bloc synchronized sur un verrou partagé par les 2 threads, qui serait donc certainement ici le compte en banque. Une autre solution serait d'intégrer le test du solde dans la méthode synchronized de retrait d'argent. Mais de toute façon, je pense qu'un tuto entier sur le parallélisme ne serait pas de trop
|
||
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
83 Zéros connectés |
8 requêtes |
0.0281s (0.0172s)
