今天在网上查了下(同步,异步,阻塞,非阻塞)结果以下:
同步(不等待):
发送方不等接收方响应,便接着发下个数据包的通信方式异步(等待):
发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式.但是我查到的也有另一个解释结果以下:
同步,主要是指客户端在发送请求后,必须得在服务端有回应后才发送下一个请求。所以这个时候的所有请求将会在服务端得到同步异步,指客户端在发送请求后,不必等待服务端的回应就可以发送下一个请求,这样对于所有的请求动作来说将会在服务端得到异步,这条请求的链路就象是一个请求队列,所有的动作在这里不会得到同步的。
到底哪个才是正确的?会的牛人麻烦解答一下.谢了!

解决方案 »

  1.   

    相对于A,B两个人去做一件事E,A首先去得到事件E的说明文档,假如是同步的话,那么A就必须等B也得到事件E的说明文档,然后再执行下一个步骤。异步的话就相反,A不等B,直接执行下一个步骤,结果就是可能A已经先完成了,B还在继续努力。对于程序来说,A,和B就是就是一个请求者,和被请求者,事件E就是一个函数过程。例如sendmessage,请求方会等待被请求方得到sendmessage的请求并返回后,才继续执行下一步,这就是同步例子了,而postmessage明显就是一个异步了。
      

  2.   

    CaiBirdy那么阻塞还非阻塞又和同步/异步有什么关系呢?
    不是线程的同步.