question sur static et multithread

question sur static et multithread - C++ - Programmation

Marsh Posté le 29-07-2010 à 12:14:46    

bonjour,

 

j'aimerai savoir si deux variables statiques de même nom, déclarées dans deux classes différentes, peuvent poser problème ?

 
Code :
  1. class A {
  2. public:
  3. static const int x = 1;
  4. };
  5. class B {
  6. public:
  7. static const int x = 2;
  8. };
 

est ce que le compilateur et l'execution s'y retrouvent ?

 

Par ailleurs, peut on déclarer un Singleton dans un programme multifred ou / et qui sera instancié plusieurs fois ? Y'a t-il des précautions à prendre ?

 

merci par avance!

 

Message cité 1 fois
Message édité par in_your_phion le 29-07-2010 à 12:16:03
Reply

Marsh Posté le 29-07-2010 à 12:14:46   

Reply

Marsh Posté le 29-07-2010 à 12:55:59    

Le cas static ne pose pas de problèmes car tu vas accéder à x en indiquant la classe mère, genre A::x.
 

in_your_phion a écrit :

[…] Par ailleurs, peut on déclarer un Singleton dans un programme multifred ou / et qui sera instancié plusieurs fois ? Y'a t-il des précautions à prendre ? […]


Ca dépend quelle classe tu mets en singleton, je comprends pas bien.
Et "multifred"  [:ddr555]


Message édité par Deamon le 29-07-2010 à 12:58:23
Reply

Marsh Posté le 29-07-2010 à 13:08:42    

in_your_phion a écrit :

bonjour,
 
j'aimerai savoir si deux variables statiques de même nom, déclarées dans deux classes différentes, peuvent poser problème ?  
 

Code :
  1. class A {
  2. public:
  3. static const int x = 1;
  4. };
  5. class B {
  6. public:
  7. static const int x = 2;
  8. };


 
est ce que le compilateur et l'execution s'y retrouvent ?


 
Oui.
 

Citation :

Par ailleurs, peut on déclarer un Singleton dans un programme multifred ou / et qui sera instancié plusieurs fois ? Y'a t-il des précautions à prendre ?


 
Un singleton dans un programme multithread ne pose pas de probleme tant que tu t'assures que l'initialisation est bien faite (et pour ca il y a de fausse bonne idees comme le double check lock pattern).
 
Quant a ta seconde alternative, un singleton qui sera instancie plusieurs fois, je crains ne pas comprendre.


Message édité par Un Programmeur le 29-07-2010 à 13:09:01

---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Marsh Posté le 31-07-2010 à 11:10:18    

merci pour vos réponse
 
pour le Singleton, c'était si plusieurs programmes sont instanciés. Est ce qu'ils peuvent partager des threads quand même ?

Reply

Marsh Posté le 31-07-2010 à 11:50:22    

in_your_phion a écrit :

pour le Singleton, c'était si plusieurs programmes sont instanciés. Est ce qu'ils peuvent partager des threads quand même ?


 
Non.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed