同步->阻塞,排队
异步->非阻塞,并发
jQuery ajax 的同步与异步
async
类型:Boolean
默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
线程同步和异步的区别
在Java中,线程同步和异步的区别主要在于发送请求后是否需要等待返回,对于线程同步来说,发送请求后需要等待返回,等待返回后才能继续发送下一个请求,
而线程异步是不需要等待返回的,在发送一个请求后随时可发送下一个请求。
同步和异步描述的是用户线程与内核的交互方式:
● 同步是指用户线程发起I/O请求后需要等待,或者轮询内核I/O操作完成后才能继续执行;
● 异步是指用户线程发起I/O请求后仍继续执行,当内核I/O操作完成后会通知用户线程,或者调用用户线程注册的回调函数。
阻塞和非阻塞阻塞和非阻塞描述的是用户线程调用内核I/O操作的方式:
● 阻塞是指I/O操作需要彻底完成后才返回用户空间;
● 非阻塞是指I/O操作被调用后立即返回给用户一个状态值,无须等到I/O操作彻底完成。
一个I/O操作其实分成了两个步骤:发起I/O请求和实际的I/O操作。
阻塞I/O和非阻塞I/O的区别在于第一步,也就是发起I/O请求是否会被阻塞。如果阻塞直到完成,就是传统的阻塞I/O,如果不阻塞,就是非阻塞I/O。
同步I/O和异步I/O的区别在于第二个步骤是否阻塞,如果实际的I/O读写阻塞请求进程,就是同步I/O。