Futures
En programmation, les notions de futures, promises ou 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 et/ou son obtention se fera « 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 et Carl Hewitt [3].
Les termes future, promise et delay sont la plupart du temps interchangeable, 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.
[modifier] Références
- Friedman, Daniel (1976). "The Impact of Applicative Programming on Multiprocessing". International Conference on Parallel Processing, pp. 263-272..
- Hibbard, Peter (1976). "Parallel Processing Facilities". New Directions in Algorithmic Languages, (ed.) Stephen A. Schuman, IRIA, 1976..
- Henry Baker and Carl Hewitt (August 1977). "The Incremental Garbage Collection of Processes". Proceedings of the Symposium on Artificial Intelligence Programming Languages, SIGPLAN Notices 12.