Problème Thread en java - Java - Programmation
Marsh Posté le 13-10-2004 à 15:51:00
T'attendais quoi de ton programme ?
T'as créés 2 instances distincts de MyThread donc elle ne partage rien comme attribut.
Marsh Posté le 13-10-2004 à 16:07:29
C'esr bien ce qui me semblait je peut mettre le main du prog dans la class qui implements runnable ?
Comme ca je peut faire plusieurs thread qui on le main en commun !
T'en pense quoi ?
Marsh Posté le 13-10-2004 à 16:32:24
En gros si je résume tu veux simplement partager les attributs pour tes threads ?
Le plus propre c'est de mettre ton nba et nbb dans la classe du main, en private, avec des getter et setter. Ensuite tu construit les threads non pas avec les valeurs de ces nombres, mais en passant ta classe principale comme attribut
Code :
|
Dis moi si ca te convient
Bill
Marsh Posté le 13-10-2004 à 17:32:06
Salut bill,
je comprend bien ton prog, oui c'est une facon de faire mais je ne saisi pas bien la notion de l'espace mémoire partagé alors dans ce cas si y'en a pas étant donné que tu passe le main à la thread ! On ne peut pas déclarer la méthode run ainsi que le main dans la même class un peu comme ca :
Code :
|
De cette facon les variable de la class test sont commune au thread et a la class main. C'est possible que ca tourne dans ce style la ?
Merci
Marsh Posté le 13-10-2004 à 18:24:25
Je crois que ton bout de code est 1 peu bidon.
Tu ne dois pas penser en terme d'espace mémoire partagée mais en terme d'objet partagé.
Marsh Posté le 13-10-2004 à 20:51:22
Bon, je suis qu'un sale ex-codeur C++, mais ça me choque tout ça. Il faudrait pas:
1. creer une classe Toto, avec 2 champs a et b.
2. créer une instance de toto dans le main()
3. démarrer le Run, en passant toto aux threads.
4. Et les threads n'ont plus qu'à faire:
synchronized totoInstance {
totoInstance.a = 23;
}
Ou bien je me gourre comme une grosse merde ?
Marsh Posté le 13-10-2004 à 21:06:50
J'y capte rien à ton bordel. Je vois pas les besoins, les choix, et le "vocabulaire" est trop technique.
je vois qu'une seule chose : tu as implémenté Runnable au-lieu de souclasser Thread, et c'est bien.
(nan, moi j'ai sous-classé thread pour lui rajouter un champ, c'est pas pareil)
Marsh Posté le 13-10-2004 à 14:40:35
Salut tout le monde,
j'ai un petit problème avec les threads en java voici le code
et les résultat
Je n'arrive pas a passer les handler de mes deux entier a et b déclarés dans le main pour qu'ils puissent modifié depuis la thread ! J'ai essayer avec un tableau marche pas non plus !
Ou ce trouve les variables partagée entre le main et les threads a la création d'une thread le main devient pas une thread comme en C ?
Merci
Message édité par tomsawyer121 le 13-10-2004 à 14:44:20