为什么异步进程不称为同步?

Gam*_*ure 24 parallel-processing asynchronous terminology

所以我对这个术语感到有点困惑.

每个人都将"异步"计算称为在单独的线程上运行不同的进程,这给出了这些进程同时运行的错觉.

这不是异步这个词的定义.

a?syn?chro?nous
–adjective 
1. not occurring at the same time. 
2. (of a computer or other electrical machine) having each operation started only after the preceding operation is completed. 
Run Code Online (Sandbox Code Playgroud)

我在这里不理解什么?

Gre*_*g B 10

这意味着两个线程没有同步运行,也就是说,它们不是在同一时间轴上运行.

我认为这是计算机科学家对他们使用单词过于聪明的一个例子.

在此上下文中,同步将表明两个线程同时开始和结束.从这个意义上说,异步意味着两个线程都可以根据需要自由启动,执行和结束.


Joh*_*zen 9

"同步"一词意味着函数调用将与其他事件同步.

异步意味着不会发生这种同步.

看起来你所拥有的定义应该是"并发"或其他东西的定义.这个定义看起来不对.


PS:

这是一个维基词典的定义:

异步

  1. 不同步; 发生在不同的时间.
  2. (计算请求或消息)允许客户端在处理期间继续.

恰好与您发布的内容完全相反.


Guf*_*ffa 5

我相信这个术语最初用于同步与异步通信.同步意味着两个通信部分具有它们运行的​​公共时钟信号,因此它们并行运行.异步通信具有就绪信号,因此一部分要求数据并在可用时获得信号.

这些术语随后适用于流程,但由于存在明显差异,这些术语的某些方面的工作方式不同.对于单个线程进程,请求执行某些操作的自然方式是进行将控制转移到子进程的同步调用,然后在完成后返回控制,然后继续进行.

异步调用的工作方式与异步通信的工作方式类似,即发送请求以完成某些操作,执行此操作的进程会在完成后返回信号.这些术语的使用不同之处在于,对于进程而言,进程是异步处理中的进程并行运行,而对于通信而言,它是并行运行的同步通信.

因此,"计算机或电机"对于正确定义术语来说实际上是一个过于宽泛的范围,因为它以不同的方式用于不同的技术.

  • +1这是最有用的答案。这解决了我长期以来的困惑。谢谢 :) (3认同)
  • 时钟信号为+1.这确实是这个词的来源. (2认同)