cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012
-
19 janv. 2010 à 01:30
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
19 janv. 2010 à 21:14
Bonjour à tous
Je voudrais franchir un pallier en apprenant la gestion des exclusions mutuelles grâce aux Thread en Java. Malheureusement, avant de demarrer toute documentation quelque peu ésotérique, je voulais m'assurer que j'ai compris les bases de l'utilisation du mot-clé synchronized sur une méthode d'instance de classe.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 janv. 2010 à 20:57
Salut,
Disons que le mot clé synchronize permet de faire beaucoup de chose : locker une section de code (ensemble de ligne), locker une méthode, locker une variable, ou locker une classe.
Cependant, c'est java qui gère tout cà en interne, et c'est pas évident de savoir concrètement ce qui se passe (surtout dans des cas tordus), à ce moment là, il vaut mieux utiliser des vrais mutex, que tu libère quand tu le décide toi-même.
Par contre, mes connaissances en section critiques et synchronisation de processus/thread n'est pas suffisante pour te répondre à tes questions.
Je pense que pour des exclusions mutuelles groupées, le simple mot clé synchronized n'est plus suffisant et il faut passer par de vrais mutex.
______________________________________
DarK Sidious
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 janv. 2010 à 07:39
Salut,
Tu trouveras très certainement tout les explications qu'il te faut dans les tutoriaux de sun, par exemple celui-ci, il te montrera comment fonctionne le mot clé synchronize, et comment s'en servir.
______________________________________
DarK Sidious
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 19 janv. 2010 à 13:35
Salut DARKSIDIOUS,
je te remercie pour ta réponse et je vais jeter un coup d'oeil au tutoriel sur lequel tu m'as fourni un lien.
C'est vrai que les tutos de Sun me rebutent un peu en général (ce n'est pas avec les tutos de sun que j'ai appris à coder la poo java, mais sur le tas) mais je vais d'abord faire cet effort.
----------------------
Loloof64
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 19 janv. 2010 à 20:34
Salut
Je reconnais que mes doutes ont été mal présentés. Mais malheureusement, la documentation de Sun n'a pas entièrement comblé mes doutes.
Ce qui me gênait surtout, c'est cette histoire de verrou sur un objet
1) Il ne me semblait pas clair que ce sont les objets qui sont vérouillés, et non leurs méthodes ou leurs attributs.
2) De plus, sur cette page Java et la synchronisation, il est expliqué que si une classe C a 4 méthodes a,b,c et d : alors il est possible de faire des exclusions mutuelles groupées (a est en exclusion mutuelle avec b et c avec d, par exemple)...Ce que je n'ai toujours pas réussi à comprendre.
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 19 janv. 2010 à 21:10
Merci beaucoup en tous cas pour ta réponse
(Si j'ai bien compris les vrais mutex sont les classes du package java.util.concurrent et ses sous packages, telles que Lock, dont fait mention le tutoriel java)