【文件属性】:
文件名称:harmonyos2-promise-future-task:承诺未来任务
文件大小:27KB
文件格式:ZIP
更新时间:2021-07-01 15:30:31
系统开源
和声2
Promise、Future、Task:跨
Javascript、C#、Python
和
C++
的异步编程习语的比较
异步编程有许多替代标签,例如异步
IO、非阻塞
IO、事件驱动编程或
.
同步和异步编程风格之间的选择主要是一个偏好问题:如果您使用同步
API,那么您的代码通常会围绕线程和互斥锁展开,例如,作为
C#
开发人员,您将使用诸如
lock()
之类的概念,
SynchronizationContexts、ThreadPools、BackgroundWorkers、Invoke/BeginInvoke,如果您不走运,还可以使用
COM
单元模型。
如果您使用异步
API,那么您的代码将围绕诸如回调、承诺、期货或
async/await
等抽象。
在过去的几年里,我们看到了向异步
API
的缓慢转变:看到
nodejs
的流行度上升,Python
最近引入或
.NET
的
.
我第一次在使用回调和异步作为首选且实际上唯一的操作模式的环境中工作是在实现基于
TCP
和
HTTP
服务器应用程序时。
在过去十年主要使用同步
API
之后,这种异步
nodejs
体验令人
【文件预览】:
promise-future-task-master
----cpp()
--------promises.cpp(1KB)
--------promises.sln(862B)
--------promises.vcxproj(3KB)
--------readme.txt(648B)
----LICENSE(1KB)
----c-sharp()
--------packages.config(136B)
--------Program.cs(498B)
--------HttpServerAsyncPromises.cs(3KB)
--------HttpServerSync.cs(2KB)
--------app.config(141B)
--------Promises.sln(885B)
--------Properties()
--------HttpServerAsyncCallback.cs(3KB)
--------Promises.csproj(3KB)
--------HttpServerAsyncAwait.cs(2KB)
----javascript()
--------promises-denodeify.js(566B)
--------callbacks.js(558B)
--------promises-generators.js(2KB)
--------package.json(77B)
--------promises-deferred.js(656B)
----readme.md(30KB)
----python()
--------promises.py(1KB)