Quel est le nom de la méthode/technique suivante (je vais essayer de décrire le mieux possible, un rappel sur "mémoization" est probablement nécessaire pour comprendre pourquoi cette technique peut être très utile):Nommez cette technique (elle peut être appelée 'piggybacking')
vous commencez certains calculs asynchrones potentiellement lenghty et vous réalisez qu'un calcul identique a déjà été commencé mais pas encore fait et vous « ferroutage » sur le premier calcul. Ensuite, lorsque le premier calcul se termine, il n'émet pas un mais deux rappels.
Le but est de ne pas démarrer inutilement un deuxième calcul car vous savez qu'il y a déjà un calcul identique en cours d'exécution. Notez que, bien que pas tout à fait différent, je ne cherche pas le cas particulier de la mise en cache que "memoization" est: memoization est quand vous commencez un calcul et trouvez un résultat caché (memoized) de ce même de calcul qui est déjà fait que vous pouvez réutiliser.
Ici, je cherche le nom de la technique qui est un peu similaire à la mémoisation (en ce sens qu'elle peut être utile pour certaines des mêmes raisons que la mémoisation est une technique utile), sauf qu'elle réutilise le résultat du premier calcul même si le premier calcul n'est pas encore fait au moment où vous émettez le deuxième calcul.
J'ai toujours appelé cette technique "piggybacking" mais je ne sais pas si c'est correct.
Je l'ai utilisé plus d'une fois comme une sorte de "mémoization sur les stéroïdes" et c'est très pratique. Je ne sais pas quel est le nom de cette technique (avancée?).
EDIT
Merde, je voulais faire des commentaires sur la réponse de epatel mais il a disparu. La réponse de epatel m'a donné une idée, cette technique pourrait être appelée "memoization paresseux" :)
Fil d'annulation? –
@Robert Harvey: googling sur "Thread cancellation" :) hummm ... Le problème, je pense, c'est que l'annulation de threads a beaucoup de sens et qu'ici, selon l'implémentation, vous pouvez même ne pas commencer du tout le long thread asynchrone parce que vous êtes directement sur l'autre. – cocotwo
J'ai vu "piggybacking" utilisé dans un contexte différent mais pour la même idée: le nouveau venu profite du surcoût qui a déjà été (ou est en train de) être payé par quelqu'un d'autre. Ne laissez pas cela vous empêcher de trouver ou de définir un travail particulier à votre contexte. –