level 11
估计其他语言可能也有这个问题。或者说,这个翻译问题很大。
异步,按我的理解应该是不同时处理,类似于事件的串联。
同步,应该是同时处理。类似于事件的并联。
而js中刚好相反。
2019年06月13日 14点06分
1
吧务
level 15
所有常见语言里面都是一样的。是你理解错了,不是JS搞错了……
所有常见语言的同步,都是等待、阻塞的意思,都是呈一个“串联”的状态。
所有常见语言的异步,都是非阻塞、不马上完成的意思,都是并行的状态。
2019年06月14日 02点06分
4
我没理解错,我是说这个词语命名不合理或者翻译不合理
2019年06月14日 05点06分
以公路的车道比喻,并行就是不同车道的车一同行驶(不同车道的车辆可以互相超车),串行就是车辆在同一车道行驶(无法超车)。同步、异步这样的词语很容易造成误解,用并行、串行更合理。或者用同轨、异轨,同道、异道,也比同步异步要合理的多。
2019年06月14日 05点06分
概念用词语命名,而用来命名的词语有歧义,那么这个命名就是不合理的。我所说的歧义,在2L的楼中楼里面举的两个例子都有体现出来。
2019年06月14日 05点06分
弱弱说句,异步仍旧是串行,没法同一时刻做两件事。
2019年06月14日 11点06分
level 13
我也认为这个命名有歧义,而且是英文原文。
If yousynchronizetwo activities, processes, or movements, or if yousynchronizeone activity, process, or movement with another, you cause them to happen at the same time and speed as each other.
单词synchronize本来就有【使两种活动同时发生,在时间上保持一致】的意思。
2019年06月14日 10点06分
7
吧务
level 15
同步和异步从来就没有和串行、并行有必然的关系。
同步和异步指的是这个动作是否会阻塞。
同步的意思是,运行到这个地方会阻塞,直到这个动作完成。
异步的意思是,运行到这个地方不会阻塞,会直接往下继续运行。至于这个动作会不会立刻执行,会不会和其他动作并列运行,会在多久完成,都是未知的。取决于语言和设计者。
是你自己想太多了,同步和异步从来没有与串行并行有必然的关联性。
2019年06月15日 14点06分
11
对于【XX执行YY】这么一件事:同步/异步概念针对的是【CPU和他的猪队友IO】,即动作的主体XX;串行/并行概念针对的是【任务1、任务2……任务N】,即动作的客体YY。
2019年06月16日 04点06分
level 14
我理解楼主的意思,他是说,用同步这个有通俗意义的词汇,描述它目前所表达的术语涵义是不对的。
各语言中的同步和异步,我认为应该用“同序”“异序”更合理。就是各指令是否在同一时序中执行的意思。
2019年06月16日 06点06分
13
同序,就是大家一起排队,逐一执行,异序就是各走各的。
2019年06月16日 06点06分
叫同路或异路好像也很贴切
2019年06月16日 06点06分
我前面说的同轨、异轨更贴切,同一轨道车辆绝无超车的可能
2019年06月16日 06点06分