Comment lancer plusieurs threads pour la manipulation d'une base de données

cs_souma123 Messages postés 6 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 3 mai 2007 - 2 juin 2006 à 02:39
cs_nimatik Messages postés 10 Date d'inscription samedi 25 mars 2006 Statut Membre Dernière intervention 5 juin 2006 - 4 juin 2006 à 20:40
salut!

est ce que quelqu'un peut me dire comment lancer plusieurs threads simultanément pour mettre a jour une base données Mysql,
merci

3 réponses

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
2 juin 2006 à 14:38
Salut
"Simultanément" est impossible parce que le processeur n'éxécute qu'une seule opération (voire 2 si tu as un bi-coeur).
Pour lancer un thread, la méthode start() le lance et éxécute ce qu'il y a dans son run().

A++
0
HSylvio Messages postés 116 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 14 juin 2012
2 juin 2006 à 16:45
Ne faut-il pas que l'objet qui fait le lien avec la BDD soit "Synchronized" ou bien sql s'en occupe??
0
cs_nimatik Messages postés 10 Date d'inscription samedi 25 mars 2006 Statut Membre Dernière intervention 5 juin 2006
4 juin 2006 à 20:40
alors je vais essayer de vous repondre :
si vous voulez executer des thread simultanement c est impossible parceque vs avez qu un seul procce mais vous pouvez lancez des thread differ toute en attendat pas la fin d un thread pour qu un autre suit parexemple vous pouvez faire un timer de 10 seconde pour faire joindre un autre thread mais si vous decalerer une methode synchronized un thread doit attendre un autre avnat d acceder a la methode bref si j ai bien compris ta question pour l acces disont simultanné entre ( ) vs pouvez faire comme ca :

Thread th=  new ClasseThread("a definir avec run de votre truc")

ou

Thread mythread=  new Thread()

 public void run()
 {
  appel BD 
 }
 
};

ainsi tu peux creer autant de thread objet des classes et pour les faire exectuer simultanee proceder ainsi :

my1thread.start();
my2thread.join(10);...."entre des try catch je pense"

MAIS UN CONSEIL D AMI LES THREAD FAUT PAS ABUSER PARCEQUE SONT DANGEURUX A UTLISER AVEC MODERATION N OUBLIER PAS
DE METTRE QQ PART UN
system.exit(0)
pour arreter les truc sinon le memoire va explosé .
si vs arriver pas envoyer moi tes classes et la ou vous avez le probleme je vais vous aider inchallah.
@+
0
Rejoignez-nous