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

Langage Java Discussion :

Implémentation file d'attente


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 184
    Par défaut Implémentation file d'attente
    Bonjour,

    J'aimerais implémenter une file d'attente, des personnes X arrivent dans une file d'attente, la file est borné et les personnes X ont un temps d'attente max.

    Des personnes Y traitent les demandes des personnes Y par ordre d'arrivée.

    A chaque fois qu'une personne Y est libre, une personne X peut être diriger vers elle.

    Il peut y avoir plus ou moins de personnes Y au fur et à mesure.

    Quelle est la meilleur méthode pour implémenter cette file d'attente ?

    ConcurrentQueue, BlokedQueue ?

    En design pattern j'en ai trouvé 2 qui pourrait me servir : Consumer/Producer et Observable/Observer.

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ta file: une ArrayBlockingQueue avec un capacité égale à ta borne de file d'attente.

    Tes personnes X: des threads qui vont faire un offer(tache, timeout, timeUnit)Les personnes qui traitent les demandes: autant de thread qui feront des poll ou des take (suivant que tu veux attendre indéfiniment ou pas)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 184
    Par défaut
    ArrayBlockingQueue : ok

    Par contre pour le timeout je n'arrive pas à le faire fonctionner.

    J'ai besoin de savoir à quelle moment une personne X quitte la file pour pouvoir effectuer un traitement.

    Et aussi pour les personnes Y, il ne faut pas que ça soit la même personne qui traite à chaque si d'autres personnes Y sont dispo. Ils faut que ça tourne.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ben c'est au moment où un thread prend en charge la tache qui se trouve dans la queue, donc le thread peut très bien inscrire ça dans la tâche en question.

    Si c'est le timeout de mise en queue (personne qui abandonne) qui t'intéresse, tu le saura du coté de l'appelant.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 184
    Par défaut
    Ok je vais testé et je te dis ça merci.

    Mais en gros c'est coomme le design pattern consommateur / producteur non ?

    PS : j'ai édit mon post au dessus

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    oui

Discussions similaires

  1. Gestion de files d'attente
    Par bounnitcharaf dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/09/2006, 18h34
  2. [Tableaux] créer une file d'attente en php
    Par gaetan.tranvouez dans le forum Langage
    Réponses: 12
    Dernier message: 01/06/2006, 18h49
  3. Mes emails restent en file d'attente sur mon serveur
    Par FredericB dans le forum Réseau
    Réponses: 3
    Dernier message: 26/10/2005, 10h04
  4. Gestion d'une file d'attente
    Par jesus144 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 22/09/2005, 19h58
  5. recupèrer file d'attente d'impression
    Par magic corp. dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2002, 14h12

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