omcougar
Messages postés152Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention 8 octobre 2008
-
14 avril 2008 à 21:11
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
15 avril 2008 à 07:09
La pluspart d'entre vous vont penser que je suis débile ou tordu ou les deux, mais je poserai quand meme ma quesiton.
Si j'ai un objet tel que quand j'appele une méthode getdata() il met un peu de temps à me générer un string avec des etapes intermiédiaires en faisant appel à une connection SQL;
class mon_objet_sql{
private Connection Conn;
public String getdata(String _Sql){
Statement Stat = Conn.createStatement();
Stat.executeQuery(_Sql);
[....]
return result;
}
}
Maintenant je déclare une classe qui contient une "instance statique" ce cet objet
class ma_classe_de_variables_statiques{
public static mon_objet objetAlaCon=new mon_objet();
}
J'en arrive enfin à ma question: si j'a plusieurs threads ou dans le cas d'un servlet plusieurs utilisateurs qui font appel à:
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 15 avril 2008 à 07:09
Salut,
Dans le cas d'une lecture, normalement non : chaque fonction s'exécutera dans un thread séparé, et s'il ne fait que lire les données (si elles ne sont pas modifiées en même temps que les fonctions les lisent !), il n'y a pas de raison qu'il te retourne des incohérences.
Mais si tu veux être sûr qu'il n'y ai pas de conflit, déclare des fonctions en "synchronized" : ainsi il ne pourra n'y avoir qu'une seule fonction exécutée en même temps (mais ca prendra bien plus de temps à exécuter sur des machines double-coeur ou plus !).
______________________________________
DarK Sidious