Futures (informatique)

En programmation, les notions de futurs (« futures »), promesses (« promises ») ou délais (« delay ») font référence à des techniques de synchronisation pour certains langages concurrents. Il s'agit d'abstractions qui servent de proxy pour un résultat non-connu au moment où il est référencé pour la première fois, car son calcul ou son obtention se feront « plus tard » à l'exécution.

Le terme générique de promise (« promesse ») a été proposé par Daniel P. Friedman et David Wise en 1976[1] ; Peter Hibbard le dénommait eventual[2] à la même époque. Le concept similaire de future a été introduit en 1977 dans une publication de Henry Baker (en) et Carl Hewitt[3].

Les termes future, promise et delay sont la plupart du temps interchangeables, bien que certains programmeurs soulignent des différences entre future et promise. L'action consistant à attribuer sa valeur à une promise est la plupart du temps notée resolving, fulfilling ou binding.

  1. Daniel Friedman et David Wise « The Impact of Applicative Programming on Multiprocessing »
    « (ibid.) », dans International Conference on Parallel Processing, , p. 263-272.
  2. Peter Hibbard « Parallel Processing Facilities » ()
    « (ibid.) », dans Stephen A. Schuman (éd.), New Directions in Algorithmic Languages, IRIA,
  3. Henry Baker et Carl Hewitt « The Incremental Garbage Collection of Processes » ()
    « (ibid.) », dans Proceedings of the Symposium on Artificial Intelligence Programming Languages, coll. « SIGPLAN Notices » (no 12),

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne