我的理解:当当ajax发起一个网络请求时,如果是阻塞则释放cpu,当有信号时唤醒
非阻塞则继续执行
当ajax发起一个网络请求时,浏览器是开启了一个http线程吧
能否从线程的角度来深刻理解ajax的同步和异步?请大神指教,另外,对这个问题有好的资料给介绍下
想了解下底层到底是怎么执行的,执行流程,请大神指点
ajax为什么叫异步和同步?为什么不叫阻塞和非阻塞呢
答案:3 悬赏:20 手机版
解决时间 2021-01-27 21:40
- 提问者网友:佞臣
- 2021-01-27 15:02
最佳答案
- 五星知识达人网友:煞尾
- 2021-01-27 16:08
同步是指两件或两件以上事情同时进行,即同步不是一种通信关系。同步调用才是通信关系,同步调用是指两个函数之间具有一定的时序关系,即后续操作必须在前面操作完成之后才可进行。
异步和异步调用是指一种通信关系,通信双方的发送者和接受者不在同一时间,运用在编程上,在A函数中调用B函数不需要等待B函数返回就可继续A函数下面的操作。
ajax之所以叫异步调用,首先是因为它是一种浏览器访问服务器来获取数据的一种技术,一个请求,一个应答,是两个进程。所以是进程(这里也可以理解为线程)之间的通信,并且由于在发出请求后并不用等待回应所以它是异步非阻塞的。
总体来讲阻塞与非阻塞和同步异步并无冲突,异步一般就是非阻塞的,同步调用一般就是阻塞的。
异步和异步调用是指一种通信关系,通信双方的发送者和接受者不在同一时间,运用在编程上,在A函数中调用B函数不需要等待B函数返回就可继续A函数下面的操作。
ajax之所以叫异步调用,首先是因为它是一种浏览器访问服务器来获取数据的一种技术,一个请求,一个应答,是两个进程。所以是进程(这里也可以理解为线程)之间的通信,并且由于在发出请求后并不用等待回应所以它是异步非阻塞的。
总体来讲阻塞与非阻塞和同步异步并无冲突,异步一般就是非阻塞的,同步调用一般就是阻塞的。
全部回答
- 1楼网友:像个废品
- 2021-01-27 17:32
ajax的同步和异步和我们所理解的刚好是相反的,在我们看来吃饭和看电视是同步的,但是ajax方法这里却是异步。ajax仅仅是发起一个网络的请求到服务器,并没有您所说的那么复杂,一般ajax同步使用比较少。
- 2楼网友:十年萤火照君眠
- 2021-01-27 17:22
同问。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯