IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[MT] Quid des variables statiques en multithread?


Sujet :

C++

  1. #21
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Charlemagne
    tu ne me feras pas changer d'avis sur l'utilisation de bibliothèques: les dépendances sont toujours des nids à problèmes
    Les dépendances c'est Charybde, réinventer, c'est Scylla. Deux sources de problèmes à éviter. Je suis toujours mal à l'aise devant les opinions tellement opposées à l'une qu'elles ont l'air d'ignorer les dangers de l'autre.

    Jadis, le syndrome du NIH frappait tellement fort que j'afficher une opinion tranchée contre était sensé,... tant qu'on avait une action plus nuancée. Mais les choses évoluent et je me demande si le balancier ne va pas passer de l'autre côté.

  2. #22
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 292
    Par défaut
    Je reste encore excessivement méfiant à l'égard du syndrome du NIH.

    Certes, à réinventer, quand on reste modeste, on peut apprendre énormément.

    D'un autre côté, je constate que souvent on perd un temps fou à recoder des choses qui l'ont déjà été. Et surtout, qui ont déjà été validées. Au moins, cela permet de se concentrer sur la partie métier qui est déjà suffisament complexe pour mériter que l'on parte de briques de "haut" niveau.

    J'ai tendance à réserver le "réinventer" aux exercices (qu'ils soient dirigés (TDs) et fassent parti de leçons, ou qu'ils soient personnels pour tester de nouvelles approches ou faire de la veille), et le "réutiliser" au boulot. Quitte à réutiliser le résultat de ces exos en dernier lieu.

    PS: oui, ACE est vieux, mais depuis, je n'ai rien observé de sérieux qui révolutionne le boulot de Schmidt. De temps à autres des petites modernisations (boost), mais rien de trascendantal.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #23
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Les dépendances c'est Charybde, réinventer, c'est Scylla. Deux sources de problèmes à éviter.
    Franchement j'aurais mis dans l'ordre inverse. Je préfère récrire (dans un temps raisonnable bien sûr) ce dont j'ai besoin, plutôt que d'utiliser des dépendances.

    Si le TLS des compilos n'existait pas, j'aurais programmé les classes moi même plutôt que que d'utiliser celui d'un tiers. J'y vois un avantage de plus de récrire (et non "réinventer") une fonctionnalité (pas du plagiat bien-sûr) : on applique la licence que l'on veut sur son code.

    Par contre je ne sais pas ce qu'est le "NIH". c'est quoi?

    De toute façon dans cette discussion on me conseillait soit d'utiliser une bibliothèque soit de le programmer moi même, mais personne pour me conseiller sur le TLS qui obtient pourtant largement ma préférence. Basta

  4. #24
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    NIH c'est l'équivalent anglosaxon de "réinventer la roue", littérallement :

    "Not Invented Here"

    Déf :
    Le syndrome du Not Invented Here (littéralement « non inventé ici ») se rencontre couramment dans le domaine de l'industrie du logiciel. Elle s’emploie lorsque des entreprises ont redéveloppé quelque chose qui existait déjà.

    Chose drôle (enfin si on veux, je tremble quand même pour que ce ne soit pas prémonitoire), c'est aussi le nom d'une série TV sur les alertes médicales en cas de propagation de virus.

  5. #25
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par mchk0123
    NIH c'est l'équivalent anglosaxon de "réinventer la roue", littérallement :

    "Not Invented Here"

    Déf :
    Le syndrome du Not Invented Here (littéralement « non inventé ici ») se rencontre couramment dans le domaine de l'industrie du logiciel. Elle s’emploie lorsque des entreprises ont redéveloppé quelque chose qui existait déjà.

    Chose drôle (enfin si on veux, je tremble quand même pour que ce ne soit pas prémonitoire), c'est aussi le nom d'une série TV sur les alertes médicales en cas de propagation de virus.
    Dans ce sens, c'est National Health Institute.

  6. #26
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 292
    Par défaut
    Je déterre ce fil, car je suis tombé sur diverses choses en rapport ces dernières semaines.

    Sous Solaris, __thread n'existe que depuis la version 5.9 -- evidemment on est 5.8 au taf'. De plus, cela ne s'utilise pas avec les objets -- j'ai oublié si la limitation est aux PODs ou bien aux petits types. Donc pas de membre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    __thread std::streambuf m_stream;
    possible. Les solutions d'ACE ou de STLSoft restent d'actualité en ce qui me concerne.

    Sinon, aujourd'hui je suis tombé sur le lien donné par Jean-Marc au sujet du mailing Post Oxford 2007 (sur fclc++), dedans on voit une référence aux TLS: document N2280.

    Voilà.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  7. #27
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    De plus, cela ne s'utilise pas avec les objets
    Oui, j'avais remarqué assez vite cet inconvénient majeur de __thread.
    Dans mon cas il m'aurait fallu déclarer des vecteurs static dans diverses fonctions. J'ai par conséquent opté pour un pointeur auquel j'alloue de la mémoire.
    Le problème c'est que mon programme n'a donc plus l'occasion de libérer cette mémoire par lui même (puisque qu'un pointeur C n'a pas de destructeur) et que je compte sur l'OS pour le faire une fois l'exécution finie.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/12/2014, 00h37
  2. A propos des variables statiques
    Par gene69 dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 1
    Dernier message: 20/08/2011, 18h25
  3. Réponses: 16
    Dernier message: 09/08/2010, 11h14
  4. Utiliser des variables statiques pour des paramètres
    Par el_slapper dans le forum VB.NET
    Réponses: 4
    Dernier message: 11/03/2008, 08h55
  5. Initialiser des variables dans une méthode Statique
    Par ero-sennin dans le forum Langage
    Réponses: 10
    Dernier message: 07/12/2007, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo