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

JDBC Java Discussion :

Thread synchronisé nécessaire pour mysql?


Sujet :

JDBC Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 42
    Par défaut Thread synchronisé nécessaire pour mysql?
    bonjour,

    j'utilise le J/connector pour me connecter a un base mysql.
    Ayant plusieurs threads qui pourraient effectuer des requêtes à ma DB simultanément, dois je les synchroniser?

    merci

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par tims12 Voir le message
    bonjour,

    j'utilise le J/connector pour me connecter a un base mysql.
    Ayant plusieurs threads qui pourraient effectuer des requêtes à ma DB simultanément, dois je les synchroniser?

    merci
    Pas nécessairement. Normalement, c'est la base de données qui devra gérer les accès simultanées. Par contre, tu risques d'avoir à gérer plusieurs cas qui peuvent arriver losqu'on accède de manière simultanée aux mêmes données.

    Si tes threads n'accèdent pas en même temps aux même tables, tu n'auras pas de problèmes, mais dès le moment ou ils accèdent aux mêmes données, ça devient plus difficile à gérer. Soit tu synchronises tes threads pour qu'ils n'accèdent pas en même temps aux mêmes données, mais sur un système utilisateur, ça peut vite être très lourd au niveau des performances.

    Sinon, tu peux implémenter des techniques permettant de vérifier qu'un tel cas n'est pas apparu, comme le pessimist ou optimist locking ou encore l'implémenter au niveau de la base de données avec des verrous et des niveaux d'isolation customisées, mais c'est différent pour chaque type de base de données.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 42
    Par défaut
    merci beaucoup pour ta réponse,

    étant donné que j'ai plusieurs accès a la même base de données, je vais synchronisé mes threads.

    Sinon, tu peux implémenter des techniques permettant de vérifier qu'un tel cas n'est pas apparu, comme le pessimist ou optimist locking ou encore l'implémenter au niveau de la base de données avec des verrous et des niveaux d'isolation customisées, mais c'est différent pour chaque type de base de données.
    Cela me semble compliquer mais je regarderai

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tes threads utilisent la même connexion ?
    Si oui, il faut synchroniser, si non, chaque Thread ayant sa propre connexion, inutile de synchroniser.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 42
    Par défaut
    mes threads utilisent la même base de données qui elles même a plusieurs tables, et si j'ai bien compris je dois synchroniser entre eux tout les threads qui accèdent à la même table?

    ps: j'ai aussi j'utilise aussi une connexion par socket dont les I/O se font par Buffer, j'ai aussi plusieur threads qui pourraient envoyer en même temps je dois aussi les synchroniser? (je pense que non)

    merci

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Le fait d'accéder à la même base ne pose pas de problème en soit, la question est : utilises-tu la même connexion pour y accéder ?
    Comme dit précédemment, si chaque Thread a sa propre connexion, il n'y a pas de problème. Tu peux gérer les verrouillages par le niveau d'isolation et transaction.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 42
    Par défaut
    ok merci c'est plus clair, en effet j'utilise la même connexion pour tout mes threads ainsi je synchroniserai la connexion.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel est le meilleur client graphique pour MySQL ?
    Par Community Management dans le forum MySQL
    Réponses: 205
    Dernier message: 20/06/2023, 11h01
  2. Réponses: 10
    Dernier message: 15/03/2005, 10h31
  3. aide pour Mysql++
    Par ktmracing dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 15/03/2005, 10h10
  4. [C#] [MySQLDriverCS] et [ByteFX] drivers .Net pour MySql
    Par |DUCATI| DesMo dans le forum Windows Forms
    Réponses: 61
    Dernier message: 26/11/2004, 00h32
  5. [CR] Version nécessaire pour créer des fichiers DSR ?
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/11/2003, 09h01

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