Viitor (informatică)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică , termenii viitor , promisiune și întârziere se referă la anumite constructe utilizate în sincronizarea executării programelor scrise cu unele limbaje de programare concurente . Această construcție folosește un fel de substituent, un obiect care ia locul unei valori care așteaptă să fie returnată printr-o operație asincronă. Operațiile sunt definite pe acest obiect pentru a fi efectuate atunci când operațiunea asincronă este finalizată.

Conceptul de promisiune a fost propus în 1976 de Daniel P. Friedman și David Wise, [1] și de Peter Hibbard care l-a numit eventual . [2] Conceptul destul de similar de futures a fost introdus în 1977 într-o publicație a lui Henry Baker și Carl Hewitt . [3] Deși cei doi termeni sunt adesea folosiți interschimbabil, există unele diferențe. [4]

Acest tip de construcție este implementabil în mai multe limbi, cum ar fi JavaScript , [5] Java , [6] Scala , [4] C # (începând cu .NET 4.5, cu cuvintele cheie async și await ), [7] Python (din 3.2 cu biblioteca concurrent.futures [8] și de la 3.5 cu async and await [9] ) și multe altele.

Notă

  1. ^ (EN) Daniel Friedman și David Wise, The Impact of Application Programming on Multiprocessing, International Conference on Parallel Processing, 1976, pp. 263-272 ..
  2. ^ (EN) Peter Hibbard, Parallel Processing Facilities, New Directions in Algorithmic Languages, (ed.) Stephen A. Schuman, IRIA, 1976, 1976.
  3. ^ (EN) Henry Baker și Carl Hewitt, The Incremental Garbage Collection of Processes , Proceedings of the Symposium on Artificial Intelligence Programming Languages, ACM SIGPLAN Notices 12, 8, August 1977, pp. 55–59. Adus la 22 mai 2017 (arhivat din original la 4 iulie 2008) .
  4. ^ a b ( EN ) Philipp Haller, Aleksandar Prokopec, Heather Miller, Viktor Klang, Roland Kuhn, Vojin Jovanovic, Futures and Promises , su Scala Documentation , EPFL . Adus la 22 mai 2017 (Arhivat din original la 19 mai 2017) .
  5. ^ Andrea Chiarelli, Modelul promisiunii pentru operațiuni asincrone , pe html.it , 20 mai 2014. Adus 22 mai 2017 ( arhivat 22 mai 2017) .
  6. ^ (EN) Future (Java Platform SE 8) , pe docs.oracle.com, Oracle Corporation . Adus la 22 mai 2017 .
  7. ^ (EN) Brandon Bray, Async în 4.5: Worth the Await , Microsoft Developer Network , 3 aprilie 2012. Accesat la 22 mai 2017.
  8. ^ (RO) Python Release 3.2 , pe python.org. Adus la 22 mai 2017 .
  9. ^ (EN)Versiunea Python 3.2.0 , pe python.org. Adus la 22 mai 2017 .
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT