[Résolu]variable statique : unique pour tous les connectés simultanés - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Résolu]variable statique : unique pour tous les connectés simultanés (/showthread.php?tid=4634) |
[Résolu]variable statique : unique pour tous les connectés simultanés - Ter Rowan - 10-03-2010 coucou Lors d'une discussion, on m'a dit qu'un membre statique de classe était unique pour l'ensemble des connectés simultanément. Je soutenais le contraire mais vu l'insistance de mes collègues, bien plus pointus que moi (en java du moins) j'ai testé pour voir : Code PHP :
je lance ce code sur deux navigateurs (un firefox et un internet explorer) avec les 10 secondes d'attente je suis persuadé avoir le temps de lancer le deuxieme script avant la fin du premier... et patatra les deux me donnent le même résultat : Citation :construction statique = variable = 0 j'en conclue donc que j avais raison, un membre statique n'est statique que dans le thread où il est créé. Mais peut être me trompe je ? a votre avis ? RE: variable statique : unique pour tous les connectés simultanés - jo_link_noir - 10-03-2010 Bonsoir, C'est unique au processus courant. Mais vu qu'à l'appelle d'une page web un autre processus est créé le "unique pour l'ensemble des connectés simultanément" n'est pas valable. C'est la même chose en java si on lance 2 fois le même programme. Quand on utilise des threads ça passe car ils utilisent la même mémoire.
affiche : 100/100 200/100 mais si je lance 2 fois ce programme je pourrais voir 100/100 100/100 200/100 200/100 Voilà... rien d'autre à ajouter >< Bonne nuit RE: variable statique : unique pour tous les connectés simultanés - QuentinC - 10-03-2010 C'est logique puisque l'ensemble du code php est reparsé à chaque appel de page web. Pour que ce soit possible, il faut utiliser un système de cache commun, p.ex. memcached, APC, ... ou alors stocker la donnée dans un fichier ou en base, avec la lenteur que ça implique. RE: variable statique : unique pour tous les connectés simultanés - Ter Rowan - 10-03-2010 ah ben merci je vais pouvoir faire le malin au bureau :p |