Asynchronous programming áááş áááźáŹááąá¸ááŽá classical parallel programming áááş áĄáááşá¸áááşáᏠáá˝áśáˇááźááŻá¸ááŹáá˛áˇááźáŽá¸ JavaSript áááášááŹáá˝ááşá browsers áážááˇáş Node.js áá˝ááşáááşá¸ááááşá¸áááŹááťáŹá¸áááŻááŹá¸áááşáážáŻáááş developer ááťáŹá¸áááášááŹáˇáĄááźááşáááŻáá˝á˛áˇá ááşá¸ááŹáá˝ááşááááŻááąááŹáá áşááŻááźá áşááŹáá˛áˇáááşá áĄááŽáĄáá˝ááş ááááŻááááşá¸áááşá¸á áá áşá áááşá¸áááŻáˇááźáŹá¸áážá áĄáááşááŹááťáŹá¸áážááˇáş áĄáááşáĄáá˝ááˇáşááťáŹá¸ááźáŹá¸áá˝ááş áĄááŻáśá¸ááťáŹá¸ááąáŹ áááşá¸áááşá¸ááťáŹá¸áĄáŹá¸ááŻáśá¸ááᯠáážááşá¸áááşá¸ááťááşááźááˇáş ááźáŽá¸ááźááˇáşá áŻáśááźáŽá¸ áĄááźááˇáşá áŻáśááŻáśá¸ áááşáááşá¸áá áşáᯠááąá¸ááŤáááşá ááᯠáááşá¸áá˝ááş áááŻáˇááťááťááş áá ááŻá áĄá áŽáááşááśá Ꮰá ááŻáážááˇáş github áá˝ááş ááŻááşááá°ááŹááťáŹá¸á á˝áŹ ááŤáážááááˇáş áááŻáážáąáŹááşáááşá¸ áá áᯠááŤáááşáááşá á áŻá áŻááąáŤááşá¸ ááŽááŽááᯠ23 ááŹááŽáááˇáş .
Diagram á áážááşá¸áááşá¸ááťááş
ááŻáśááźááşá¸ (áĄáááş) áááş asynchrony ááźááˇáş ááŻááşááąáŹááşáááˇáş ááá°ááŽááąáŹáááşá¸áááşá¸ááťáŹá¸ááźáŹá¸ ááťáááşáááşáážáŻááťáŹá¸ááᯠááźááááşá ááąáŹááşá áŻáśáááąáŹááşááťáŹá¸áááş áĄááźááŻááşáĄáááŻááşááááŻááááşááąá¸áá˝á˛ááźááşá¸áážááˇáş áááşáááŻááşááźáŽá¸ áĄááźá°áĄáááşá¸áĄááŻáśá¸ááťáŹá¸áááş áĄááźááŻááşááááŻááááşááąá¸áá˝á˛ááźááşá¸áááşá¸áááşá¸ááťáŹá¸ (semaphoresá mutexesá áĄááŹá¸áĄááŽá¸ááťáŹá¸ á áááşááźááˇáş) áážááˇáş Petri netsá asynchronous programming áážááˇáş actor model áá˛áˇáááŻáˇáááş áááŻáˇáááş parallel computing ááᯠáĄááąáŹááşáĄáááşááąáŹáşáááşáĄáá˝ááş ááá°ááŽááąáŹááťááşá¸áááşááŻáśááťáŹá¸ááźá áşáááş (áááşá¸áááŻáˇááᯠááááŻááááşááąá¸áá˝á˛ááźááşá¸áááąááŹáááŻáᏠdiagram áá˝ááşááźáááŹá¸áááş)á multithreading áááŤáᲠáááŻááşááąáŹááşááťáŹá¸ááᯠáĄááąáŹááşáĄáááşááąáŹáşááŹáá˝ááşáááşá¸ áááşáážááá˝ááˇáşáážáááźáŽá¸ áĄááźááŻááşáĄáááŻááş ááŻááşááťáŹá¸ááᯠáááşááąáŹááşááŹáá˝ááş áĄááŻáśá¸ááźáŻááąáŹááźáąáŹááˇáş áááŻááşááąáŹááşááąáŹáşáááşáááş áĄááźááŻááşáĄáááŻááşááŻááşááąáŹááşááźááşá¸áážááˇáş áááşáááŻááşááŤáááşá áĄá ááşááťááťááşá¸ááťáŹá¸áááş áĄááźá áşáĄááťááşááťáŹá¸áážááˇáş áá áşááźááŻááşáááşáááşá¸ áááşá¸á áŽááźááşá¸ááᯠááźááşááąáŤáşááźááşá¸áááŻáˇ ááťáááşáááşááŹá¸ááąáŹááźáąáŹááˇáş áĄáááŻá፠abstraction ááťáŹá¸áááş ááźááşáááşááąáŤáşáááŻáážáŻááťáŹá¸áĄááąáŤáş áĄááźáąááśááŹá¸ááąáŹáşáááşá¸ áĄáááşáĄáá˝áąá¸áááŻááşá¸áĄá ááťááşá¸áááşáážáŻáĄáá áşááťáŹá¸áĄááźá áş áážáááąáá˛ááźá áşáááşá
ááąáŹááźáąáŹáá˝á˛áĄááźáąáŹááşá¸áĄááŹááťáŹá¸
ááŽááŽáááŻáá áşááŻá áŽáĄáąáŹááşáá˝ááş áá˝áąá¸áá˝áąá¸ááŹá¸áááˇáş ááŻááşááá°ááŹááťáŹá¸ááŤáááˇáş áááŻáážáąáŹááşáááşá¸ááťáŹá¸áááŻáˇ áááˇáşááşááťáŹá¸ ááŤáážáááŤáááşá áĄááŹáĄáŹá¸ááŻáśá¸ááᯠáá áşááźááŻááşáááşáááşá¸ áááşáááşáá˛áˇ abstraction áá áşááŻáááŻáˇ ááťážáąáŹáˇááťáááş ááááŻáĄááşááźáąáŹááşá¸ ááźááááş ááŤááźááŻá¸á áŹá¸áá˛áˇáááşá asynchrony áá˝ááş universal ááťááşá¸áááşáážáŻááťááŻá¸ááážáááŤá áážááˇáş ááá ášá áá áşááŻá áŽáĄáá˝ááş á¤ááááťááąáŹáĄááŻááşáĄáá˝ááş ááŻááşááᯠáááŹáááťááťááąá¸áááŻááşá áąáááˇáş áĄáááŻááŤáááşá¸áááşá¸ááťáŹá¸ááᯠáááşáá˝áąá¸ááťááşáááŻááşááŤáááşá ááŻááşááŤáááşá ááŽáááşáááşá¸ááᯠááźááˇáşá á˝ááşááźáŽá¸ ááąáŤááşá¸á ááşáĄáá áşáá˝áą áĄááźáśááźáŻááźáŽá¸ ááŻááşááá°ááŹáá˝áąááᯠááśáˇáááŻá¸ááąá¸áááŻáˇ áá°áááŻááşá¸ááᯠááąáŹááşá¸áááŻááŤáááşá áááşáááşá¸á áĄááá áááşáá˝ááşááťááşáážáŹ áĄáá˝ááşá¸áááŻááşá¸ááž áá˝á˛áá˝á˛ááąááąáŹ abstraction ááťáŹá¸ááᯠáááşáááŻáˇáááşááąáŹááşááááşááᯠááźááááşááźá áşááźáŽá¸ áááşá¸áááŻáˇááᯠáĄááŻáśá¸ááźáŻááŻáśááᯠáááşááźáŹá¸ááąá¸ááŻáśááŹáááá˛á abstraction áĄáŹá¸ááŻáśá¸ááᯠá áŹááźááˇáşáááŻááşááťáŹá¸ááž ááá°ááąáŹááşáᲠáááşá¸áááŻáˇá áĄáááŻá¸áážááşá¸ááŻáśá¸ áĄááąáŹááşáĄáááşááąáŹáşáážáŻáá˝ááş ááąá¸ááąáŹááşááźáŽá¸ áááşá¸áááŻáˇá ááŻááşáááşá¸ááᯠáĄáááˇáşáááˇáş áá˝á˛ááźááşá¸á áááşááźáŹááŤáááşá
á áŹáááşá¸áá˝ááşá¸áĄááŻáśá¸ááźáŻáá°ááťáŹá¸áᏠá á áşáááşá¸áá˝ááş ááŤáááşáááŻááşááŤáááşá , ááťáąá¸áá°á¸ááźáŻá
áááşáááşá¸áĄááąáŤáş áááˇáşáááąáŹááŹá¸á áááşáááŻáá˛á
áááşáááşá¸áá áşááŻááŻáśá¸ááᯠááźááˇáşáááşá
ááŤáá˝áąá¸ááťááşááźááˇáşáááşá
ááťááşá¸áááşáááşá¸áá áşááŻá ááťá˝ááşááąáŹáˇáşáĄáá˝ááş ááŻáśááąáŹááşááŤáááşá
áááşáááşá¸áĄáá˝ááş áá°ááŽááąá¸ááŤáˇáááş
áááźááŻááşáááşáááşá¸ ááźá áşáááşáážáŻááᯠá፠á áááşááááşá áŹá¸áá°á¸á
áĄááŻáśá¸ááźáŻáá° áá áŚá¸ áá˛ááąá¸áá˛áˇáááşá áĄááŻáśá¸ááźáŻáá° 8 áŚá¸ áážáąáŹááşáá˛áˇáááşá
source: www.habr.com
