Bonjour,
J'utilises une pile FIFO en vb, celui-ci ne pose pas de problème à petite échelle.
Avec beaucoup d'événement, celui-ci représente un goulot d'étranglement.
Que puis-je faire pour pallier à ce problème ?
Version imprimable
Bonjour,
J'utilises une pile FIFO en vb, celui-ci ne pose pas de problème à petite échelle.
Avec beaucoup d'événement, celui-ci représente un goulot d'étranglement.
Que puis-je faire pour pallier à ce problème ?
Je me demande même si on peut changer quelque chose car par exemple dans le cas d'une impression sur une imprimante lente la tâche sera toujours longue à être traitée.
Pour pallier le problème, on peut utiliser la parallélisation pour peu que les tâches sous-jacentes le supportent. Ex : on ne peut effectivement pas lancer deux impressions parallèles sur la même imprimante, mais on peut lancer deux requêtes parallèles et asynchrones sur la même base de données ou deux calculs en mémoire en parallèle.
Si tu es en VB.Net, tu peux utiliser une ConcurrentQueue pour stocker les tâches et Task Parallel Library pour popper des éléments de ta queue et les traiter en parallèle.
En effet; l'idée de base c'est que sur la durée, il y a assez peu de demandes en moyenne pour que tout puisse être traité (par exemple au bureau, on peut supposer que personne ne demande de tâches d'impression après l'heure de fermeture, ce qui laisse à l'imprimante la nuit pour finir toutes les tâches). Sinon, il y a blocage.