Comment lancer plusieurs threads pour la manipulation d'une base de données
cs_souma123
Messages postés6Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention 3 mai 2007
-
2 juin 2006 à 02:39
cs_nimatik
Messages postés10Date d'inscriptionsamedi 25 mars 2006StatutMembreDerniè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
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 200712 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().
cs_nimatik
Messages postés10Date d'inscriptionsamedi 25 mars 2006StatutMembreDerniè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.
@+