J'ai un composant que je souhaite écrire et c'est le genre de chose qui ressemble à un modèle commun. J'espérais trouver le nom commun du modèle s'il y en a un, et des exemples de la façon de le mettre en œuvre.Existe-t-il un modèle pour ce système de mise en file d'attente et un exemple de code Java?
J'ai un service qui met en file d'attente les demandes et les traite une à la fois. J'ai un certain nombre de threads clients qui font les demandes. La clé est que les threads appelant doivent bloquer jusqu'à ce que leur propre demande particulière soit traitée.
E.g. s'il y a 10 threads, tous faisant une requête, alors le 10ème thread bloquera le plus longtemps pendant qu'il attend que sa requête le place au début de la file, et soit traitée. En bref pseodocode, un appel serait aussi simple que:
service.processMessage(myMessage); /* block whilst it enqueues, waits, */
/* processes and returns */
Je sais ce que vous pensez - pourquoi prendre la peine ayant des fils du tout? Disons simplement qu'il y a des contraintes de conception bien en dehors de mon contrôle.
En outre, cela devrait fonctionner sur JavaME, ce qui signifie un infuriating subset of real Java, et pas de bibliothèques externes huppées.
Wow. C'est juste effacé tout un tas de sur-ingénierie de ma part. Je pourrais en fait le faire, malgré la possibilité vague d'une vraie concurrence dans le futur, parce que c'est trop parfait pour être ignoré. Merci. – izb