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

WinDev Discussion :

Multithread sur une source de données (MySQL)


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Août 2009
    Messages : 107
    Par défaut Multithread sur une source de données (MySQL)
    Bonjour,

    J'ai besoin de réaliser un traitement sur chaque enregistrements résultants d'une requête SQL.
    Pour accélérer ce traitement, je souhaite faire du multithread (il n'y a pas besoin d'attendre la fin du traitement de la première ligne résultante pour enchainer la deuxième).

    Seulement, je ne vois pas trop comment gérer l'accès de plusieurs threads sur la même source de données.

    Exemple : ma requête retourne 18 lignes et j'ai 2 threads
    Je souhaite que le thread 1 accède à la première ligne et le thread 2 voit que l'accès à la première ligne est déjà occupé, alors il enchaine sur la ligne suivante (la deuxième).

    Avez-vous une idée svp ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2023
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2023
    Messages : 105
    Par défaut
    Bonjour,
    Je ne me souviens plus quel exemple, mais dans les exemples livrés avec windev, il y en a un sur les sémaphores qui permettent d'attendre la disponibilité d'un Thread.
    Cordialement

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2023
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2023
    Messages : 105
    Par défaut
    Bon, je suis allé voir si je pouvais retrouver l'exemple, il s'agit de "Les threads (pool)".
    je pense que vous pouvez adapter à votre cas en demandant un traitement pour chaque ligne, chaque traitement attendant une place dans le pool.

  4. #4
    Membre émérite
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2017
    Messages : 340
    Par défaut
    Yop. Moi quand je lis "J'ai besoin de réaliser un traitement sur chaque enregistrements résultants d'une requête SQL." je demande direct si tu ne peux pas faire faire ce traitement a une requête plutôt? Si tu veux modifier les enregistrements en base au final, peut être que c'est à la base de bosser, pas au code.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Août 2009
    Messages : 107
    Par défaut
    Citation Envoyé par kunnskap Voir le message
    Yop. Moi quand je lis "J'ai besoin de réaliser un traitement sur chaque enregistrements résultants d'une requête SQL." je demande direct si tu ne peux pas faire faire ce traitement a une requête plutôt? Si tu veux modifier les enregistrements en base au final, peut être que c'est à la base de bosser, pas au code.
    Rien est modifié en base, c'est juste une lecture

  6. #6
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 563
    Par défaut
    Bonjour,

    La réponse sera la même : pourquoi exécuter 1000 fois une requête avec un id plutôt que d'en faire une avec les 1000 id ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/04/2018, 12h58
  2. Impossible d'ajouter une source de données MySQl
    Par Klemsy78 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 11/11/2010, 11h45
  3. Réponses: 4
    Dernier message: 08/01/2009, 15h01
  4. Réponses: 3
    Dernier message: 11/03/2008, 15h10
  5. Réponses: 3
    Dernier message: 23/03/2007, 22h26

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