Forum pour réunir les administrateurs de serveur L2
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  

Partagez | 
 

 comprenette en java

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
decarvk



Nombre de messages : 242
Age : 27
Localisation : en france
Date d'inscription : 06/07/2008

MessageSujet: comprenette en java   Lun 15 Sep 2008, 22:55

voila âpres avoir suivit plusieurs tuto sur les thread je ne suis pas bien sur de tout saisir.

voila ceux que j'en est comprit:
la class thread et l'interface runnable sont dans java.lang
on peut exécute 1 thread a la fois.
pour les synchroniser (bloquer les ressource utiliser par un thread)on utiliser synchronized
et il faut redéfinir la méthode run lorsque l'on invoque un nouveau thread.

y a t'il des chose en plus a voir et y a t'il des erreur des ce que j'ai comprit?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nemerian.apdvm.asso.fr
Respawner



Nombre de messages : 1622
Age : 28
Date d'inscription : 20/04/2006

MessageSujet: Re: comprenette en java   Lun 15 Sep 2008, 23:36

Le mot clé synchronized permet de limiter l'accès à une ressource.
En gros quand un thread accède à la ressource, un verrou est posé sur cette dernière et les autres threads doivent attendre que le verrou soit enlevé pour accéder à cette même ressource. Comme les variables static par exemple qui sont liées à la classe et non à l'objet donc communes aux threads.

La méthode run c'est le main du thread ce qu'il va faire.

Regarde aussi les problèmes de deadlocks c'est intéressant ça.

_________________
~$ cat new_server > /dev/null

Tout n'est qu'une question de point de vue.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.respawner.fr/
decarvk



Nombre de messages : 242
Age : 27
Localisation : en france
Date d'inscription : 06/07/2008

MessageSujet: Re: comprenette en java   Mar 16 Sep 2008, 00:10

deadlock a pas vus mais je vais chercher ^^ j'en ai entendu parler au les serveur l2j
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nemerian.apdvm.asso.fr
Respawner



Nombre de messages : 1622
Age : 28
Date d'inscription : 20/04/2006

MessageSujet: Re: comprenette en java   Mar 16 Sep 2008, 00:28

Exemple type de deadlock : le dînée des philosophes. Chaque philosophe est un thread, pour manger ils ont besoin de deux baguettes. La baguette gauche d'un philosophe correspond à la baguette droite d'un autre philosophe etc ... Si chaque philosophe a une baguette, il va attendre que son voisin pose sa baguette mais le voisin attend son voisin qui attend son voisin qui attend son voisin etc ... conclusion chaque thread en attend une autre, le programme se fige et ne fait plus rien. Ceci est un deadlock vous venez de perdre 1 million d'euros Very Happy

Pour les soucis de synchronized, on peut prendre comme exemple une variable qui sert de diviseur. Un thread prend cette variable si elle est supérieure à zéro (division par zéro impossible hein), divise un nombre avec et la décrémente. Lors d'un programme on ne peut prévoir comment les threads vont prendre la main donc on imagine un thread qui prend la main, la variable est égale à 1, l'exécution du thread est stoppée, l'autre thread prend la main plus longtemps, la variable est toujours égale à 1, le même thread divise son nombre par 1 et décrémente la variable qui est donc égale à 0. Le premier thread reprend la main mais la variable est à 0, il va tenter la division mais l'exception de division par zéro est levée et termine le programme.

J'espère avoir été clair car c'est pas toujours simple à expliquer Very Happy

_________________
~$ cat new_server > /dev/null

Tout n'est qu'une question de point de vue.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.respawner.fr/
decarvk



Nombre de messages : 242
Age : 27
Localisation : en france
Date d'inscription : 06/07/2008

MessageSujet: Re: comprenette en java   Mar 16 Sep 2008, 14:53

hum donc un deadlock est une suite des thread qui attendent des un des autres une choses qu'il ne pourront pas obtenir ^^

pour les syncronized je comence a comprendre leur utiliter me reste a mettre c'est nouvelle conaissance en aplication pour voir jusqu'ou on peut aller ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nemerian.apdvm.asso.fr
Respawner



Nombre de messages : 1622
Age : 28
Date d'inscription : 20/04/2006

MessageSujet: Re: comprenette en java   Mar 16 Sep 2008, 15:48

Bah disons que c'est surtout théorique car tu peux pas vraiment produire ceci. A par un deadlock évidemment d'ailleurs les deadlocks sont liés en général à la mauvaise ou à la non-utilisation de synchronized. Le problème est toujours l'accès à une ressource partagée mais comme on ne peut pas prévoir l'évolution du programme comment les threads vont "s'enchaîner" il est plutôt difficile de reproduire de telle situation en voulant le faire exprès ^^

_________________
~$ cat new_server > /dev/null

Tout n'est qu'une question de point de vue.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.respawner.fr/
decarvk



Nombre de messages : 242
Age : 27
Localisation : en france
Date d'inscription : 06/07/2008

MessageSujet: Re: comprenette en java   Mar 16 Sep 2008, 18:13

quand je parler de mettre en test mais nouvelle connaissance ya pas que sa, les jtextfiel, jcombobox, jcheckbox, enfin cela réuni aux gestion de thread je penser a faire un exercice proposer sur le topic ou j'ai mit mon premier programe, le tchat en aplet sa peut etre sympa.


enfin merci pour les petit éclaircissement
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nemerian.apdvm.asso.fr
Contenu sponsorisé




MessageSujet: Re: comprenette en java   Aujourd'hui à 13:08

Revenir en haut Aller en bas
 
comprenette en java
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Erreur java affichage didacticiel fourni avec E-Anim
» Net framework et Java
» [/résolu] problème avec java à l'instalation :-/
» Problème avec Java
» [Résolu] Pourquoi java 1.5 ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
L2J-FR :: Général :: Aides et Conseils-
Sauter vers: