2009-03-12 7 views
4

Dites, nous avons un programme qui obtient des entrées de l'utilisateur ou d'autres événements imprévisibles à des moments arbitraires.Un nom pour ce concept?

Pour chaque type d'événement, le programme doit effectuer un calcul ou accéder à une ressource, ce qui prend raisonnablement beaucoup de temps. Le programme devrait produire un résultat aussi vite que possible. Si les prochains événements arrivent, il peut être acceptable d'abandonner les calculs précédents et d'en prendre de nouveaux. Pour compliquer encore plus, certains calculs/accès aux ressources peuvent être interdépendants, c'est-à-dire produire des données qui peuvent être utilisées dans d'autres calculs.

Ce qui est important, nous connaissons le modèle dans lequel ces événements se produisent généralement. Par exemple: leur fréquence relative les uns par rapport aux autres, ou un ordre commun et des intervalles de temps dans lesquels ils se produisent.

La tâche consiste à créer un algorithme qui traite le problème de la manière la plus efficace sur le plan statistique. Les approches produisant des solutions sous-optimales peuvent être plus que suffisantes.

Existe-t-il un concept qui englobe la conception de tels algorithmes?


Exemple:

Un navigateur internet à onglets. Lorsqu'on dit de charger différentes pages Web dans plusieurs onglets, il faut décider de charger la page dans un onglet actif avec une priorité plus élevée, de rendre juste la partie visible de la page ou de pré-rendre la page entière, si oui à faire en premier - avant de rendre la page entière pour l'onglet actif ou rendre les autres onglets au lieu, etc.

(je ne sais rien sur la façon dont les navigateurs fonctionnent réellement, mais en supposant qu'il est de cette façon ne sera pas mal)

Répondre

4

Ce que vous décrivez est un ordonnanceur d'applications de priorité. Vous devriez être plus précis pour déterminer quel algorithme serait le meilleur, mais here est une liste que vous pourriez trouver utile.

0

Je lance des mots-clés: Planification avec préemption? En outre, pré-chargement, double-tampon

0

Je ne sais pas beaucoup à ce sujet, mais cela ressemble à quelque chose que le reactor patern peut être utilisé.

Questions connexes