Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1407 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  synchronisation de méthode static

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

synchronisation de méthode static

n°748925
El_gringo
Posté le 02-06-2004 à 14:58:42  profilanswer
 

J'ai 2 méthodes dans ma classe :
 
l'une :  
public String crypt (String _in);
dans ce cas, appeler préalablement setKey (String _key)
 
l'autre
public static String crypt (String _in, String _key);
 
Comment faire pour n'avoir aucun risque lors d'une utilisation de la méthode static dans un cadre multi-threads ? elle nécessite une synchronisation, non ? et si oui, laquelle ?

mood
Publicité
Posté le 02-06-2004 à 14:58:42  profilanswer
 

n°748936
nraynaud
lol
Posté le 02-06-2004 à 15:04:21  profilanswer
 

ben synchronize
 
dans le cas de "static" ça synchronise sur l'objet MaClass.class.


---------------
trainoo.com, c'est fini
n°748951
El_gringo
Posté le 02-06-2004 à 15:07:11  profilanswer
 

Ben, merci beaucoup.
J'arrive jamais à m'y retrouver avec les "synchrinoze"
 
EDIT : synchronize (la preuve ! :D )


Message édité par El_gringo le 02-06-2004 à 15:07:48
n°749242
benou
Posté le 02-06-2004 à 18:14:59  profilanswer
 

El_gringo a écrit :

elle nécessite une synchronisation, non ?


ben ca dépend, c'est pas sûr  ...
 
est ce qu'elle partagent des variables suceptibles d'être modifiées durant le cours d'execution d'une de ces deux méthodes ?
 
si ce n'est pas le cas et qu'elles sont indépendantes, ca sert à rien de les synchronizer à part créer un goulot d'étranglement ...[:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
n°750085
El_gringo
Posté le 03-06-2004 à 08:56:54  profilanswer
 

benou a écrit :

ben ca dépend, c'est pas sûr  ...
 
est ce qu'elle partagent des variables suceptibles d'être modifiées durant le cours d'execution d'une de ces deux méthodes ?
 
si ce n'est pas le cas et qu'elles sont indépendantes, ca sert à rien de les synchronizer à part créer un goulot d'étranglement ...[:spamafote]


 
C'est justement là mon problème : je n'sais pas vraiment !
Les variables locales sont dupliquées si 2 thread exécutent simultanément une même méthode static ?
Pour nécessiter une synchronisation, il faudrait par exemple que cette méthode static écrive dans un attribut static. c'est ça ?

n°750090
benou
Posté le 03-06-2004 à 08:59:46  profilanswer
 

El_gringo a écrit :

méthode static écrive dans un attribut static. c'est ça ?


en gros oui.
Si toutes les actions lui sont locales, qu'aucun espace mémoire n'est partagé en écriture, elle est multithreadable.

n°750096
nraynaud
lol
Posté le 03-06-2004 à 09:04:23  profilanswer
 

oui, et mettre un "synchronize" ne résout rien en soit, il faut bien comprendre comment ça marche et le mettre au bon endroit.
je t'invite à lire ça :
http://java.sun.com/docs/books/tut [...] eaded.html
 
mais j'ai pas vraiment de texte miracle pour expliquer synchronize.


---------------
trainoo.com, c'est fini
n°750134
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-06-2004 à 09:31:02  profilanswer
 

la synchronisation de threads c'est la mort :o


---------------
J'ai un string dans l'array (Paris Hilton)
n°750136
benou
Posté le 03-06-2004 à 09:31:55  profilanswer
 

Harkonnen a écrit :

la synchronisation de threads c'est la mort :o


en assembleur peut être ...
 
en java, avec un peu de jugeote, d'habitude et beaucoup de vérification ca se fait ...


Message édité par benou le 03-06-2004 à 09:32:28
n°750301
El_gringo
Posté le 03-06-2004 à 10:58:32  profilanswer
 

Harkonnen a écrit :

la synchronisation de threads c'est la mort :o


 
En C, oui. En Java, c'est pas censé être si terrible, grâce au mot clé "synchronize", justement. C'est bien pour ça que ça m'énerve de pas mieux m'en sortir.

mood
Publicité
Posté le 03-06-2004 à 10:58:32  profilanswer
 

n°750304
El_gringo
Posté le 03-06-2004 à 10:59:20  profilanswer
 

nraynaud a écrit :

oui, et mettre un "synchronize" ne résout rien en soit, il faut bien comprendre comment ça marche et le mettre au bon endroit.
je t'invite à lire ça :
http://java.sun.com/docs/books/tut [...] eaded.html
 
mais j'ai pas vraiment de texte miracle pour expliquer synchronize.


 
Merci. C'est déja pas mal ton tuto.

n°750305
El_gringo
Posté le 03-06-2004 à 11:00:23  profilanswer
 

benou a écrit :

en assembleur peut être ...
 
en java, avec un peu de jugeote, d'habitude et beaucoup de vérification ca se fait ...


 
Pour la jugeotte, j'éspère que la mienne est suffisante. Pour l'habitude, éspèrons que ça viendra. Mais c'est surtout de la doc qu'il me manque un peu. On va voir ce qu'on peut faire avec le tuto que ma passé Raynaud.

n°750406
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-06-2004 à 11:51:16  profilanswer
 

benou a écrit :

en assembleur peut être ...
 
en java, avec un peu de jugeote, d'habitude et beaucoup de vérification ca se fait ...

je parlais d'un langage pour hommes comme le C++, pas d'un langage de lopettes :o
(merde c'est pas vendredi)
blague à part, la synchro de threads en C++, c'est une galère sans nom :/
 
edit: [:benou_grilled]


Message édité par Harkonnen le 03-06-2004 à 11:51:47

---------------
J'ai un string dans l'array (Paris Hilton)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  synchronisation de méthode static

 

Sujets relatifs
[JAVA] Comment laisser tourner une méthode en arrière plan ?récupérer une methode PHP 5
le XML, methode merise c dure à assimiler ?méthode qui renvoie tout les attributs d'une classe???
[java] synchronize & staticexplication de bloc "static" en java
Que pensez vous de cette methode ? (lister les pdf, ps d un dossier)[HTML/JS] Lien sur img - send via methode POST
de l'utilité d'une methode release dans un tag jsp.[VB6] Comment initialiser une variable static en VB?
Plus de sujets relatifs à : synchronisation de méthode static


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR