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

时间:2009-10-20 18:47:30

标签: asynchronous terminology parallel-processing

所以我对这个术语感到有些困惑。

每个人都将“异步”计算称为在单独的线程上运行不同的进程,这会让人觉得这些进程同时运行。

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

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. 

我在这里不理解什么?

9 个答案:

答案 0 :(得分:10)

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

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

在这种情况下,同步会表明两个线程同时开始和结束。从这个意义上讲,异步意味着两个线程都可以根据需要自由启动,执行和结束。

答案 1 :(得分:9)

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

异步表示不会发生此类同步。

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

<小时/> 的 PS:

以下是维基词典的定义:

asynchronous

  1. 不同步;发生在不同的时间。
  2. (计算请求或消息)允许客户端在处理期间继续。
  3. 恰好与您发布的完全相同

答案 2 :(得分:5)

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

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

异步调用就像异步通信一样,在发送请求以完成某项操作的方面,并且执行此操作的过程会在完成后返回信号。这些术语的使用差异在于异步处理中的进程并行进程,而对于通信,它是并行运行的同步通信。

因此,“计算机或电机”对于正确定义该术语的范围来说确实太宽泛,因为它以不同的方式用于不同的技术。

答案 3 :(得分:2)

我猜它是因为它们没有同步;)

换句话说......如果一个进程被停止,被杀或正在等待某事,另一个进程将继续进行

答案 4 :(得分:2)

我认为这里的答案与大多数答案略有不同。

异步意味着“不会同时发生”。

在线程的特定情况下:

  • 同步意味着“立即执行此代码”。
  • 异步意味着“将此工作排入另一个将在未来的某个不确定时间执行

这通常允许你“一次做两件事”,原因如下:

  • 一个线程正在等待(例如,数据到达串口),所以是睡着了
  • 您有多个处理器,因此两个线程可以同时运行。

然而,即使有128个处理器核心,情况也是如此:工作将在“未来的某个时间”(如果可能在不久的将来)执行,而不是“现在”。

答案 5 :(得分:1)

您的第二个定义在这里更有用:

2. [...] having each operation started only after the preceding operation is completed.

进行异步调用时,可能无法在下一个操作开始之前完成该调用。当呼叫是同步的时,它将是。

答案 6 :(得分:0)

这实际上意味着异步事件独立于其他事件发生,而同步事件将根据其他事件发生。

答案 7 :(得分:0)

就像:易燃,易燃(这意味着同样的事情)

说真的 - 这只是英语中的一个怪癖。它没有多大意义。你可以试着解释一下,但是反义的证明也很容易。

答案 8 :(得分:0)

这里的许多答案都不正确。 IN-dependently有一个开始粒子,它表示A NOT-INFORMATION,就像A同步一样,但是从属和同步的含义并不相同! :D

因此,三个受抚养者将等待命令,因为他们依赖于命令,但是他们等待,所以他们不是同步的。

以英语和其他任何具有a,syn和chrono共同词根的语言(意大利语:asincrono;西班牙语:asincrónico;法语: 异步希腊语:a =不是syn = to在一起chronos = time),意思恰恰相反。

该术语完全具有反作用。异步功能是同步的,它们是同时发生的,这就是它们的力量。他们不等待,不依赖,不让用户等待,但是所有这些NOT都不是同步性:)

唯一正确的答案可能是CLOCK,尽管它仍然令人困惑。我个人的解释是这个故事:

“一位教授有一个办公室,他打电话给学生打电话。他在大学主堂大声说:'嘿,想和我说话的人应该明天早上10点来。”或简单地放一个标语说同样的东西。

结果:早上10点,您会看到一个长长的队列。人们有相同的时间,所以他们在同一时刻进来,并且“在此过程中积聚”。 因此,教授认为,不要浪费时间在队列中(并进行同步操作,即在生活中同时进行并行操作,这是造成混乱的地方),这是很好的选择。

他决定让学生代替他进行异步通话,也就是说,每当学生结束与他的交谈时,学生可以(例如)打电话给另一位学生,说教授可以在该房间自由交谈。在此期间他们喜欢什么。因此,每个学生都没有一个同步呼叫(早上10点,所有时间都相同),但根据教授办公室中每次讨论所需的时间,他们有10、10.10、10.18、10.27等。”

@Guffa是具有相同时钟的意思吗?