同步与异步
异步与同步都是时间上的关系。
进程:
异步:
A和B无时间上的先后等制约关系,A和B工作不互相干涉。
调用者不需要等到被调用者返回,立即做接下来的事。调用者和被调用者处于异步工作的状态。被调用者完成后,通过状态,通知和回调等方式通知。
好比:Q发消息,发完之后我去干别的事情,等对方回消息,Q亮了通知我了,我再去处理
同步:
A和B有时间上的先后等制约关系。
是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。
也就是必须一件一件事做,等前一件做完了才能做下一件事.
好比:早上起床后,先洗涮,然后才能吃饭,不能在洗涮没有完成时,就开始吃饭.按照这个定义,其实绝大多数函数都是同步调用(例如sin,isdigit等)。
打电话是一种同步。
但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。
异步和同步都是一种合作的工作方式,通过什么方式实现(如多线程实现异步)又是另外一个范畴。
传输方式:
异步:
异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,
所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。
待续...